PHP Microservice Framework Swoft: Use Database Part 1


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'utilisateur
  • password connexion
  • charset 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 { /** * 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; } } 

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


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


All Articles