
Cet article que nous allons apprendre est: Comment installer et exécuter la base de données Swoft.
Cet article fait partie d'une série d'articles sur la base de données Swoft ORM. Apprenons à propos de Swoft!
Qu'est-ce que Swoft?
Swoft est un framework de coroutine de microservices hautes performances PHP. Il est publié depuis de nombreuses années et est devenu le meilleur choix pour php.
Il peut être comme Go, serveur Web coroutine intégré et client coroutine commun et réside en mémoire, indépendamment du PHP-FPM traditionnel.
Il existe des opérations de langage Go similaires, similaires aux annotations flexibles du framework Spring Cloud.
Grâce à trois années d'accumulation et d'exploration de directions, Swoft a fait de Swoft le Spring Cloud dans le monde PHP, qui est le meilleur choix pour le cadre hautes performances et la gestion des microservices de PHP.
Github
Installer
Ici, nous utilisons composer pour installer le composant db
composer require swoft/db
La base de données Swoft est basée sur le pilote d'extension PDO, assurez-vous qu'il existe des extensions mysqld et PDO.
Config
La configuration de la base de données est placée dans le fichier app\bean.php
, et vous pouvez considérer la base de données configurée comme un objet bean
.
return [ 'db' => [ 'class' => Database::class, 'dsn' => 'mysql:dbname=test;host=127.0.0.1', 'username' => 'root', 'password' => '123456', 'charset' => 'utf8mb4', ], ];
La configuration est similaire à la configuration de la méthode d'injection d'attribut d'objet yii2
, Vous pouvez obtenir l'objet de Database
actuellement configuré avec \bean('db')
class
Spécifiez la classe à utiliser pour le conteneur de beans actuel. Bien sûr, vous pouvez également spécifier votre propre implémentation de la classe de base de données.- Informations de configuration de connexion
dsn
que PDO doit utiliser username
Nom d'utilisateurpassword
connexioncharset
base de données charset
Si vous souhaitez configurer maître-esclave / cluster, veuillez vous référer à la base de données Swoft 文档
Simple Ă utiliser
Sélectionnez
class UserController { public function index() { $users = DB::select('select * from users where active = ?', [1]); return (array)users; } }
La méthode select
retournera toujours un tableau, et chaque résultat dans le tableau est un tableau, et la valeur du résultat est accessible comme ceci:
foreach ($users as $user) { echo $user['name']; }
Transaction
Vous pouvez utiliser la méthode de transaction de DB pour exécuter un ensemble d'opérations dans une transaction de base de données. Si une exception se produit lors de la clôture de la clôture de la transaction, la transaction sera annulée. Si la clôture de la transaction est clôturée avec succès, la transaction sera validée automatiquement. Une fois que vous avez utilisé la transaction, vous n'avez plus à vous soucier des problèmes de restauration manuelle ou de validation:
DB::transaction(function () { DB::table('users')->update(['status' => 1]); DB::table('posts')->delete(); });
Github