Rumah > Artikel > rangka kerja php > Cara menggunakan rangka kerja Hyperf untuk operasi pangkalan data
Cara menggunakan rangka kerja Hyperf untuk operasi pangkalan data
Pengenalan:
Rangka kerja Hyperf ialah rangka kerja ringan berprestasi tinggi yang dibangunkan berdasarkan sambungan Swoole, yang berfungsi dengan baik apabila mengendalikan permintaan serentak yang tinggi. Dalam aplikasi web moden, operasi pangkalan data adalah salah satu fungsi yang sangat biasa. Artikel ini akan memperkenalkan cara melaksanakan operasi pangkalan data dalam rangka kerja Hyperf, termasuk sambungan pangkalan data, pertanyaan, sisipan, kemas kini dan pemadaman.
'default' => [ 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', 3306), 'database' => env('DB_DATABASE', 'test'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'pool' => [ 'min_connections' => 1, 'max_connections' => 10, 'connect_timeout' => 10.0, 'wait_timeout' => 3.0, 'heartbeat' => -1, 'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60), ] ],
Anda boleh mengubah suai item konfigurasi yang sepadan mengikut maklumat pangkalan data anda sendiri, seperti nama hos, nama pangkalan data, nama pengguna dan kata laluan, dsb.
Pangkalan Data
untuk melaksanakan operasi pertanyaan pangkalan data. Mula-mula, kita perlu memperkenalkan komponen dalam kod: Database
组件来执行数据库查询操作。首先,我们需要在代码中引入该组件:use HyperfDatabaseConnectionInterface;
然后,可以通过依赖注入的方式在控制器中使用该组件,例如:
public function index(ConnectionInterface $connection) { $results = $connection->select('select * from users where active = ?', [1]); return $results; }
上述代码中,我们通过select
方法执行了一条查询语句并将结果返回。
Database
组件:use HyperfDatabaseConnectionInterface;
然后,在需要插入数据的地方使用依赖注入的方式获取该组件,并执行插入操作,例如:
public function store(ConnectionInterface $connection) { $connection->insert('insert into users (name, email) values (?, ?)', ['John Doe', 'johndoe@example.com']); return 'User created!'; }
在上述代码中,我们通过insert
方法插入了一条新的用户数据。
Database
组件:use HyperfDatabaseConnectionInterface;
然后,在需要更新数据的地方使用依赖注入的方式获取该组件,并执行更新操作,例如:
public function update(ConnectionInterface $connection, $id) { $connection->update('update users set name = ? where id = ?', ['John Doe', $id]); return 'User updated!'; }
在上述代码中,我们通过update
方法更新了指定ID的用户数据。
Database
组件:use HyperfDatabaseConnectionInterface;
然后,在需要删除数据的地方使用依赖注入的方式获取该组件,并执行删除操作,例如:
public function destroy(ConnectionInterface $connection, $id) { $connection->delete('delete from users where id = ?', [$id]); return 'User deleted!'; }
在上述代码中,我们通过delete
Kemudian, kita boleh menggunakan komponen dalam pengawal melalui suntikan kebergantungan, contohnya:
rrreee
select
Kaedah melaksanakan pernyataan pertanyaan dan mengembalikan hasilnya. 🎜Pangkalan Data
: 🎜🎜rrreee🎜 Kemudian, gunakan suntikan kebergantungan untuk mendapatkan komponen di mana data perlu dimasukkan, dan lakukan operasi sisipan, contohnya: 🎜rrreee🎜In kod di atas , kami memasukkan data pengguna baharu melalui kaedah insert
. 🎜Pangkalan Data
: 🎜🎜rrreee🎜 Kemudian, gunakan suntikan kebergantungan untuk mendapatkan komponen di mana data perlu dikemas kini dan lakukan operasi kemas kini, contohnya: 🎜rrreee🎜 Dalam kod di atas , kami mengemas kini data pengguna ID yang ditentukan melalui kaedah kemas kini
. 🎜Pangkalan Data
: 🎜🎜rrreee🎜 Kemudian, gunakan suntikan kebergantungan untuk mendapatkan komponen di mana data perlu dipadamkan, dan lakukan operasi pemadaman, contohnya: 🎜rrreee🎜 Dalam kod di atas , kami memadamkan data pengguna ID yang ditentukan melalui kaedah delete
. 🎜🎜Ringkasan: 🎜Rangka kerja Hyperf menyediakan kami kaedah operasi pangkalan data yang mudah dan cekap, membolehkan kami melakukan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dengan lebih mudah. Melalui kod sampel di atas, kami boleh memulakan dengan cepat dan menerapkannya pada projek kami sendiri untuk meningkatkan kecekapan dan prestasi pembangunan. 🎜Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk operasi pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!