PHP Microservice Framework Swoft: Use o Banco de Dados Parte 1


Este artigo que vamos aprender é: Como instalar e executar o banco de dados Swoft.


Este artigo é parte de uma série de artigos no Swoft Database ORM. Vamos aprender sobre o Swoft!

O que é o Swoft?


O Swoft é um framework de alto desempenho em microsserviços em PHP. Foi publicado por muitos anos e se tornou a melhor escolha para php.


Pode ser como Go, servidor da web incorporado de corotina e cliente comum de corotina e é residente na memória, independente do PHP-FPM tradicional.


Existem operações de idioma Go semelhantes, semelhantes às anotações flexíveis da estrutura Spring Cloud.


Através de três anos de acumulação e exploração de direção, a Swoft transformou a Swoft na Spring Cloud no mundo PHP, que é a melhor escolha para a estrutura de alto desempenho e gerenciamento de microsserviços do PHP.


Github



Instale


Aqui usamos o compositor para instalar o componente db


composer require swoft/db 

O banco de dados Swoft é baseado no driver de extensão PDO, verifique se existem extensões mysqld e PDO.


Config


A configuração do banco de dados é colocada no arquivo app\bean.php , e você pode pensar no db configurado como um objeto de bean .


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

A configuração é semelhante à configuração do método de injeção de atributo do objeto yii2 . Você pode obter o objeto de Database atualmente configurado com \bean('db')


  • class Especifique qual classe usar para o contêiner de bean atual. Obviamente, você também pode especificar sua própria implementação da classe de banco de dados.
  • dsn configuração da conexão dsn que o PDO precisa usar
  • username usuário Nome de usuário de login de dados
  • password Senha de login no banco de dados
  • conjunto de caracteres do banco de dados charset

Se você deseja configurar o master-slave / cluster, consulte o Swoft Database.


Simples de usar


Selecione


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

O método select sempre retornará uma matriz, e cada resultado na matriz é uma matriz, e o valor do resultado pode ser acessado assim:


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

Transação


Você pode usar o método de transação do DB para executar um conjunto de operações em uma transação de banco de dados. Se ocorrer uma exceção no fechamento de fechamento da transação, a transação será revertida. Se o fechamento da transação for executado com êxito, a transação será confirmada automaticamente. Depois de usar a transação, você não precisa mais se preocupar com problemas de reversão ou confirmação manual:


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

Github


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


All Articles