Dengan populariti pangkalan data NoSQL, semakin ramai pembangun web mula menggunakan MongoDB. Kelebihan terbesar pangkalan data dokumen ini ialah kebolehskalaannya yang sangat tinggi, dan model datanya boleh menyesuaikan dengan mudah kepada keperluan pelbagai senario aplikasi. Atas dasar ini, CakePHP menyediakan satu set pemalam MongoDB, yang boleh menggunakan pangkalan data MongoDB dengan cepat melalui konfigurasi dan penggunaan yang mudah.
Artikel ini akan memperkenalkan cara menggunakan MongoDB dalam aplikasi CakePHP, termasuk pemasangan pemalam, sambungan konfigurasi, definisi model data dan operasi pertanyaan.
1. Pemasangan pemalam
Pemalam MongoDB CakePHP boleh dipasang menggunakan Composer Hanya laksanakan arahan berikut dalam direktori akar projek:
komposer memerlukan cakephp/. mongodb
Jika anda menggunakan CakePHP4, anda juga perlu melaksanakan arahan berikut untuk memasang sambungan MongoDB:
pecl install mongodb
2 Konfigurasikan sambungan
MongoDB menyediakan storan data bebas Skema, jadi maklumat seperti pangkalan data dan nama koleksi perlu dinyatakan dalam aplikasi. Kami boleh mengkonfigurasi maklumat sambungan yang sepadan dengan MongoDB dalam tatasusunan Pangkalan data fail config/app.php, seperti berikut:
'pangkalan data' => [
'mongo' => [ 'host' => 'mongo', 'port' => 27017, 'username' => '', 'password' => '', 'database' => 'test', 'replica_set' => '', 'ssl' => false, 'authMechanism' => '', 'driverOptions' => [] ],
]
Dalam contoh ini, kami menyatakan nama hos dan nombor port pelayan pangkalan data MongoDB dan menentukan nama pangkalan data untuk digunakan untuk sambungan. Dalam kes penggunaan yang lebih maju, pertimbangkan untuk menggunakan nama pengguna dan kata laluan untuk mengesahkan sambungan dan tentukan parameter seperti nama set replika.
3. Mulakan operasi
Selepas menyambung ke MongoDB, anda boleh mula mentakrifkan model data dan melakukan operasi pertanyaan. Plugin MongoDB CakePHP menyediakan satu siri kaedah mudah untuk menulis pertanyaan MongoDB, seperti find(), findAll(), groupBy(), dsb.
Tentukan model dahulu:
ruang nama AppModel;
gunakan CakeMongoDBModelTable;
Pengguna kelas memanjangkan Jadual
{
}
Kemudian anda boleh mengakses kefungsian MongoDB.
Data pertanyaan:
$users = $this->Users->find();
foreach ($users as $user) {
echo $user->name;
}
Simpan data:
$user = $this->Users->newEntity([
'name' => 'cakephp', 'email' => 'cakephp@example.com',
]);
if ($this->Users->save($user)) {
// Data saved.
}
Apabila menanyakan data, anda boleh menggunakan query untuk mencapai pertanyaan data yang lebih fleksibel, contohnya :
$query = $this->Users->find('all')
->where(['age' => 30]) ->orWhere(['age' => 40]);
Dalam contoh ini, kaedah where() dan orWhere() digunakan untuk membina Queryer mudah, yang akan menapis maklumat tentang pengguna yang berumur 30 atau 40 tahun. Sebagai tambahan kepada pertanyaan konvensional, pemalam MongoDB CakePHP juga menyokong kaedah pertanyaan lanjutan seperti pembanding, ungkapan biasa dan pertanyaan lokasi geografi, dan mempunyai kebolehskalaan pertanyaan yang berkuasa.
4. Ringkasan
Melalui pemalam MongoDB CakePHP, kami boleh menggunakan pelbagai fungsi MongoDB dengan mudah untuk menulis model data dan operasi pertanyaan yang cekap, menyokong senario data yang kompleks dan akses data pantas. Dalam aplikasi praktikal, sebagai tambahan kepada senario terpakai yang diperkenalkan di atas, MongoDB juga boleh digunakan untuk cache data, merekod log dan melakukan analisis untuk mencapai pengurusan dan penggunaan data yang lebih komprehensif.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pangkalan data MongoDB dengan CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!