1. Pengenalan
Dalam era Internet hari ini, penyepaduan interaksi data dan aplikasi secara beransur-ansur menjadi satu-satunya cara untuk pembangunan aplikasi. Antaranya, RESTful API secara beransur-ansur menjadi antara muka data yang paling popular kerana kesederhanaan, kebolehskalaan dan kemudahan pemahamannya. Rangka kerja Yii ialah rangka kerja PHP yang popular dan mempunyai sokongan yang sangat kuat untuk pembangunan API RESTful. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Yii untuk membangunkan API RESTful dan melaksanakan antara muka data.
2. Apakah itu RESTful API
REST (Representational State Transfer) ialah gaya seni bina perisian yang menggunakan protokol HTTP untuk berkomunikasi, mengenal pasti sumber melalui URI dan menggunakan kaedah HTTP (GET, POST, PUT , DELETE) untuk pemindahan negeri dan panggilan tindakan. API RESTful ialah perkhidmatan web berdasarkan gaya seni bina REST, menggunakan satu set kaedah permintaan HTTP biasa (GET, POST, PUT, DELETE) untuk komunikasi. Oleh kerana API RESTful adalah ringkas, mudah difahami, mudah dibangunkan dan merentas platform, ia digunakan secara meluas dalam pertukaran data dan penyepaduan antara pelbagai aplikasi.
3. API RESTful dalam rangka kerja Yii
Rangka kerja Yii ialah rangka kerja PHP popular yang menyediakan pelbagai fungsi dan komponen, termasuk sokongan klien dan pelayan API RESTful. API RESTful dalam rangka kerja Yii menyokong kaedah permintaan HTTP seperti GET, POST, PUT dan DELETE, dan menyokong pengembangan percuma format data (seperti JSON, XML, dll.). Ia juga menyokong peraturan penghalaan, pengesahan, versi API kawalan dan fungsi lain. Di bawah, kami akan memperkenalkan secara terperinci cara menggunakan rangka kerja Yii untuk pembangunan API RESTful.
4. Pemasangan dan konfigurasi rangka kerja Yii
Sebelum menggunakan rangka kerja Yii secara rasmi untuk pembangunan API RESTful, kami perlu memasang dan mengkonfigurasi rangka kerja Yii. Mula-mula, kita perlu memuat turun versi terkini rangka kerja Yii daripada tapak web rasmi Yii (https://www.yiiframework.com/), dan kemudian nyahzipnya ke direktori akar pelayan web. Seterusnya, dayakan fungsi mod_rewrite dan AllowOverride dalam fail konfigurasi pelayan web (seperti httpd.conf Apache), dan tetapkan peraturan tulis semula direktori akar kepada fail index.php rangka kerja Yii. Akhir sekali, dalam fail konfigurasi rangka kerja Yii (seperti /config/web.php), konfigurasi sambungan pangkalan data dan bahasa serta maklumat lain yang berkaitan.
5. Laksanakan RESTful API
Dalam rangka kerja Yii, kita boleh menggunakan Gii (penjana rangka kerja Yii) untuk mencipta templat dan pengawal API RESTful dengan cepat. Mula-mula, kami membuka halaman Web Gii (seperti http://localhost/gii), klik menu "API Generator", kemudian isikan nama modul yang sepadan, ruang nama, nama jadual pangkalan data dan maklumat lain, dan akhirnya klik "Generate ", iaitu Templat dan pengawal yang boleh menjana API RESTful. Kemudian, kami boleh mengubah suai kod ini lagi untuk melaksanakan fungsi API RESTful yang kami perlukan.
Di bawah, kami mengambil sistem pengurusan pengguna yang mudah sebagai contoh untuk memperkenalkan cara menggunakan rangka kerja Yii untuk melaksanakan RESTful API.
Pertama, kita perlu mencipta jadual pengguna (seperti pengguna) dalam pangkalan data dan menciptanya dalam lapisan model (model ) rangka kerja Yii Cipta kelas model yang sepadan dengan pangkalan data (seperti Pengguna). Apabila mencipta kelas model, kita perlu mewarisi kelas ActiveRecord dan mentakrifkan kaedah tableName() dalam kelas untuk mengembalikan nama jadual data yang sepadan supaya rangka kerja Yii boleh membaca dan mengendalikan pangkalan data dengan betul.
Seterusnya, kita perlu mencipta pengawal API RESTful (seperti UserController) dalam lapisan pengawal (pengawal) rangka kerja Yii. Apabila mencipta pengawal, kita perlu mewarisi kelas yiiestActiveController, mentakrifkan atribut $modelClass dalam kelas dan menentukan kelas model yang sepadan (seperti Pengguna) supaya rangka kerja Yii boleh menjana antara muka data secara automatik.
Selepas mencipta pengawal, kami boleh melaksanakan antara muka data yang sepadan. Dalam rangka kerja Yii, kami boleh melaksanakan operasi data yang sepadan mengikut kaedah permintaan HTTP yang berbeza (seperti GET, POST, PUT, DELETE). Sebagai contoh, kami boleh melaksanakan operasi seperti menyoal pengguna, menambah pengguna, mengemas kini pengguna dan memadamkan pengguna mengikut kaedah permintaan HTTP yang berbeza dalam pengawal UserController. Operasi khusus adalah seperti berikut:
Pengguna pertanyaan:
public function actionIndex() { $users = User::find()->all(); return $users; }
Tambah pengguna:
public function actionCreate() { $user = new User(); $user->load(Yii::$app->request->getBodyParams(), ''); $user->save(); return $user; }
Kemas kini pengguna:
public function actionUpdate($id) { $user = User::findOne($id); $user->load(Yii::$app->request->getBodyParams(), ''); $user->save(); return $user; }
Padam pengguna:
public function actionDelete($id) { $user = User::findOne($id); $user->delete(); return $user; }
Perlu diingatkan bahawa kita perlu menentukan format data (serializer) sebagai format JSON dalam tingkah laku (tingkah laku) pengawal supaya API RESTful boleh membaca dan mengembalikan data dengan betul. Kodnya adalah seperti berikut:
public $serializer = [ 'class' => 'yiiestSerializer', 'collectionEnvelope' => 'items', ];
Akhir sekali, kami perlu menguji antara muka data API RESTful yang dilaksanakan. Dalam rangka kerja Yii, kami boleh menggunakan alat ujian API seperti Postman untuk menguji ketepatan dan kebolehpercayaan antara muka data. Untuk kaedah permintaan HTTP yang berbeza, kami perlu menggunakan alamat API yang sepadan (seperti http://localhost/users, http://localhost/users/1, dll.) dan meminta parameter untuk ujian.
6. Ringkasan
Melalui langkah di atas, kami telah berjaya menggunakan rangka kerja Yii untuk membangunkan API RESTful dan melaksanakan antara muka data. Dalam pembangunan sebenar, kami boleh mengoptimumkan dan menambah baik lagi fungsi dan prestasi API RESTful mengikut keperluan kami sendiri dan keadaan khusus untuk memenuhi keperluan aplikasi dengan lebih baik.
Atas ialah kandungan terperinci Pembangunan API RESTful dalam rangka kerja Yii: melaksanakan antara muka data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!