
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')
- classEspecifique 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.
- dsnInformación de configuración de conexión que PDO necesita usar
- usernamede usuario Nombre de usuario
- passwordContraseña de inicio de sesión de la base de datos
- juego de charsetbase de datoscharset
Si desea configurar maestro-esclavo / clúster, consulte Swoft Database 文档
Fácil de usar
Seleccione
 class UserController {  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