PHP微服务框架Swoft:使用数据库第1部分


我们将要学习的这篇文章是:如何安装和运行Swoft数据库。


本文是Swoft数据库ORM上一系列文章之一。 让我们了解Swoft!

斯沃夫特是什么?


Swoft是一个PHP高性能微服务协程框架。 它已经发布了很多年,并已成为php的最佳选择。


它可以像Go,内置的协程Web服务器和通用协程客户端一样,驻留在内存中,独立于传统的PHP-FPM。


有类似的Go语言操作,类似于Spring Cloud框架的灵活注释。


通过三年的积累和方向探索,Swoft使Swoft成为了PHP世界中的Spring Cloud,它是PHP高性能框架和微服务管理的最佳选择。


Github



安装


在这里,我们使用composer安装db组件


composer require swoft/db 

Swoft数据库基于PDO扩展驱动程序,请确保存在mysqld和PDO扩展。


设定档


数据库的配置位于app\bean.php文件中,您可以将配置的db视为bean对象。


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

该配置类似于yii2对象属性注入方法的配置,您可以使用\bean('db')获取当前配置的Database对象\bean('db')


  • class指定用于当前bean容器的类。 当然,您也可以指定自己的数据库类实现。
  • PDO需要使用的dsn连接配置信息
  • username数据登录用户名
  • password数据库登录密码
  • charset数据库字符集

如果要配置主从/集群,请参考Swoft数据库文档


使用简单


请选择


 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; } } 

select方法将始终返回一个数组,并且数组中的每个结果都是一个数组,并且可以按以下方式访问结果值:


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

交易额


您可以使用DB的事务方法在数据库事务中运行一组操作。 如果在事务的关闭中发生异常,则事务将被回滚。 如果事务关闭关闭成功执行,则事务将自动提交。 使用事务后,您不再需要担心手动回滚或提交问题:


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

Github


Source: https://habr.com/ru/post/zh-CN472504/


All Articles