
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 PDOusername
Data login nama penggunapassword
Database kata sandi logincharset
karakter basis data charset
Jika Anda ingin mengonfigurasi master-slave / cluster, silakan merujuk ke Swoft Database ææĄŖ
Mudah digunakan
Pilih
class UserController { 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