Sebagai rangka kerja PHP yang popular, rangka kerja Yii mempunyai banyak alatan dan teknologi yang sangat baik untuk pemprosesan data, salah satunya ialah perisian tengah. Middleware ialah teknologi pemprosesan data biasa yang boleh memproses dan mengawal data permintaan dan tindak balas dengan berkesan. Dalam artikel ini, kami akan meneroka fungsi perisian tengah bagi rangka kerja Yii, memperkenalkan peranan dan penggunaannya, dan menerangkan cara untuk mencapai pemprosesan data yang cekap melalui perisian tengah.
Apakah perisian tengah?
Perisian tengah ialah teknologi yang digunakan untuk memproses data permintaan dan tindak balas Ia terletak di antara permintaan dan tindak balas aplikasi dan boleh memproses dan mengawal kedua-duanya. Dalam rangka kerja Yii, middleware ialah komponen program boleh dikonfigurasikan Ia terdiri daripada satu siri kelas dan fail konfigurasi dan boleh melaksanakan pelbagai operasi pemprosesan data dengan mudah.
Fungsi utama middleware termasuk:
Faedah menggunakan middleware
Faedah menggunakan middleware sangat jelas, terutamanya termasuk aspek berikut.
Contoh: Gunakan perisian tengah untuk menapis permintaan yang menyalahi undang-undang
Di bawah kami akan menggunakan contoh mudah untuk memperkenalkan cara menapis permintaan yang menyalahi undang-undang melalui perisian tengah.
Kami mula-mula mencipta kelas middleware bernama "FilterMiddleware" untuk menapis permintaan yang menyalahi undang-undang.
namespace appcomponents; use yiiaseComponent; use yiiwebRequest; class FilterMiddleware extends Component { public function beforeAction($action) { $request = Yii::$app->request; $ip = $request->getUserIP(); // 根据IP地址过滤非法请求 if ($ip == '127.0.0.1') { return true; } else { return false; } } }
Dalam kod ini, kami mencipta komponen middleware bernama "FilterMiddleware" dengan mewarisi kelas Komponen rangka kerja Yii. Antaranya, kaedah beforeAction ialah kaedah utama middleware Ia memintas sebelum memproses permintaan dan boleh digunakan untuk melaksanakan beberapa operasi pemprosesan data biasa.
Dalam kaedah beforeAction, kami mula-mula mendapatkan objek permintaan $request. Kemudian, dengan memanggil kaedah $request->getUserIP(), alamat IP yang diminta diperolehi. Akhir sekali, kami menapis permintaan haram dengan menentukan sama ada alamat IP ialah '127.0.0.1'. Jika ia adalah permintaan yang menyalahi undang-undang, pulangkan palsu, sebaliknya kembalikan benar.
Seterusnya, kita perlu mengkonfigurasi middleware yang baru kita buat ke dalam rangka kerja Yii. Kami boleh menambah konfigurasi berikut pada fail konfigurasi Yii:
return [ // ... 'components' => [ // ... 'filter' => [ 'class' => 'appcomponentsFilterMiddleware' ], // ... ], 'as filter' => [ 'class' => 'appcomponentsFilterMiddleware' ] // ... ];
Dalam kod ini, kami menambah komponen bernama "penapis" pada fail konfigurasi Yii dan menetapkan kelasnya kepada appcomponentsFilterMiddleware. Dengan cara ini, perisian tengah penapisan boleh dipanggil dalam komponen Yii.
Pada masa yang sama, kami juga menambah komponen aplikasi bernama "penapis", yang akan dipanggil secara automatik semasa semua pemprosesan permintaan.
Pada ketika ini, kami telah berjaya mencipta perisian tengah untuk menapis permintaan yang tidak sah dan mengkonfigurasinya kepada rangka kerja Yii Seterusnya, kami boleh mengujinya bekerja. Katakan kita mempunyai pengawal bernama "tapak" dan kaedah tindakan bernama "indeks". Jika pengguna mengakses kaedah tindakan pengawal dengan alamat IP '127.0.0.1', ia akan dilaksanakan seperti biasa, jika tidak, ia akan Ditapis oleh perisian tengah.
namespace appcontrollers; use yiiwebController; class SiteController extends Controller { public function actionIndex() { // ... } }
Ringkasnya, dengan menggunakan teknologi perisian tengah rangka kerja Yii, kami boleh mencapai pemprosesan dan kawalan data yang cekap dengan mudah. Sama ada penapisan data, pembentukan permintaan atau pengoptimuman tindak balas, perisian tengah boleh membantu kami mencapai aplikasi yang lebih cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Middleware dalam rangka kerja Yii: mencapai pemprosesan data yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!