PHP Microservice Framework Swoft: Use Database Part 1


Este artículo que vamos a aprender es: Cómo instalar y ejecutar la base de datos Swoft.


Este artículo es uno de una serie de artículos sobre la base de datos Swoft ORM. ¡Aprendamos sobre Swoft!

¿Qué es swoft?


Swoft es un marco de trabajo de rutina de microservicio de alto rendimiento de PHP. Se ha publicado durante muchos años y se ha convertido en la mejor opción para php.


Puede ser como Go, un servidor web de rutina incorporado y un cliente de rutina común y reside en la memoria, independiente del PHP-FPM tradicional.


Existen operaciones de lenguaje Go similares, similares a las anotaciones flexibles del marco Spring Cloud.


A través de tres años de acumulación y exploración de direcciones, Swoft ha convertido a Swoft en la Nube de Primavera en el mundo PHP, que es la mejor opción para el marco de trabajo de alto rendimiento y la gestión de microservicios de PHP.


Github



Instalar


Aquí usamos composer para instalar el componente db


composer require swoft/db 

La base de datos Swoft se basa en el controlador de extensión PDO, asegúrese de que haya extensiones mysqld y PDO.


Config


La configuración de la base de datos se coloca en el archivo app\bean.php , y puede pensar en la base de datos configurada como un objeto bean .


 return [ 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8mb4', ], ]; 

La configuración es similar a la configuración del método de inyección de atributos de objeto yii2 Puede obtener el objeto de Database configurado actualmente con \bean('db')


  • class Especifique qué clase usar para el contenedor de beans actual. Por supuesto, también puede especificar su propia implementación de la clase de base de datos.
  • dsn Información de configuración de conexión que PDO necesita usar
  • username de usuario Nombre de usuario
  • password Contraseña de inicio de sesión de la base de datos
  • juego de charset base de datos charset

Si desea configurar maestro-esclavo / clúster, consulte Swoft Database 文档


Fácil de usar


Seleccione


 class UserController { /** * Displays a list of all users of the application * * @return array */ public function index() { $users = DB::select('select * from users where active = ?', [1]); return (array)users; } } 

El método select siempre devolverá una matriz, y cada resultado en la matriz es una matriz, y se puede acceder al valor del resultado de esta manera:


 foreach ($users as $user) { echo $user['name']; } 

Transacción


Puede usar el método de transacción de DB para ejecutar un conjunto de operaciones en una transacción de base de datos. Si se produce una excepción en el cierre de cierre de la transacción, la transacción se revertirá. Si el cierre de la transacción El cierre se ejecuta con éxito, la transacción se confirmará automáticamente. Una vez que haya utilizado la transacción, ya no tendrá que preocuparse por la reversión manual o los problemas de confirmación:


 DB::transaction(function () { DB::table('users')->update(['status' => 1]); DB::table('posts')->delete(); }); 

Github


Source: https://habr.com/ru/post/472504/


All Articles