PHP Microservice Framework Swoft: Gunakan Basis Data Bagian 1


Artikel yang akan kita pelajari adalah: Cara menginstal dan menjalankan database Swoft.


Artikel ini adalah salah satu dari serangkaian artikel di ORM Database Swoft. Mari belajar tentang Swoft!

Apa itu Swoft?


Swoft adalah kerangka kerja coroutine microservice kinerja tinggi PHP. Ini telah diterbitkan selama bertahun-tahun dan telah menjadi pilihan terbaik untuk php.


Ini bisa seperti Go, server web coroutine bawaan dan klien coroutine umum dan ada dalam memori, tidak tergantung pada PHP-FPM tradisional.


Ada operasi Go bahasa yang serupa, mirip dengan anotasi fleksibel kerangka kerja Cloud Spring.


Melalui tiga tahun akumulasi dan eksplorasi arah, Swoft telah menjadikan Swoft Spring Cloud di dunia PHP, yang merupakan pilihan terbaik untuk kerangka kerja berkinerja tinggi PHP dan manajemen layanan mikro.


Github



Instal


Di sini kami menggunakan komposer untuk menginstal komponen db


composer require swoft/db 

Basis data Swoft didasarkan pada driver ekstensi PDO, pastikan ada ekstensi mysqld dan PDO.


Konfigurasi


Konfigurasi database ditempatkan di file app\bean.php , dan Anda dapat menganggap db yang dikonfigurasi sebagai objek bean .


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

Konfigurasi ini mirip dengan konfigurasi metode injeksi atribut objek yii2 īŧŒ Anda bisa mendapatkan objek Database saat ini dikonfigurasi dengan \bean('db')


  • class Tentukan class mana yang akan digunakan untuk wadah kacang saat ini. Tentu saja, Anda juga dapat menentukan implementasi kelas database Anda sendiri.
  • dsn Informasi konfigurasi koneksi yang perlu digunakan PDO
  • username Data login nama pengguna
  • password Database kata sandi login
  • charset karakter basis data charset

Jika Anda ingin mengonfigurasi master-slave / cluster, silakan merujuk ke Swoft Database æ–‡æĄŖ


Mudah digunakan


Pilih


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

Metode select akan selalu mengembalikan array, dan setiap hasil dalam array adalah array, dan nilai hasilnya dapat diakses seperti ini:


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

Transaksi


Anda dapat menggunakan metode transaksi DB untuk menjalankan serangkaian operasi dalam transaksi basis data. Jika pengecualian terjadi pada penutupan transaksi, transaksi akan dibatalkan. Jika Penutupan transaksi Penutupan berhasil dilaksanakan, transaksi akan dilakukan secara otomatis. Setelah Anda menggunakan transaksi, Anda tidak perlu lagi khawatir tentang kemunduran manual atau melakukan masalah:


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

Github


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


All Articles