Perisian tengah rangka kerja Yii: Menyediakan sokongan storan data berbilang untuk aplikasi
Pengenalan
Perisian tengah (perisian tengah) ialah konsep penting dalam rangka kerja Yii, yang menyediakan sokongan storan data berbilang untuk aplikasi. Middleware bertindak seperti penapis, memasukkan kod tersuai antara permintaan dan respons aplikasi. Melalui perisian tengah, kami boleh memproses, mengesahkan, menapis permintaan, dan kemudian menyerahkan hasil yang diproses kepada perisian tengah atau pengendali akhir yang seterusnya.
Perisian tengah dalam rangka kerja Yii sangat mudah digunakan, anda hanya perlu membuat konfigurasi yang berkaitan dalam fail konfigurasi aplikasi. Di bawah ini kami akan menggunakan contoh untuk memperkenalkan secara terperinci cara menggunakan perisian tengah dalam rangka kerja Yii.
Contoh
Andaikan kita sedang membangunkan aplikasi pengurusan tugas berdasarkan rangka kerja Yii. Dalam aplikasi ini, kami perlu menyokong pelbagai kaedah penyimpanan data, termasuk MySQL dan Redis. Kami akan menggunakan perisian tengah untuk melaksanakan fungsi ini.
Pertama, kita perlu mengkonfigurasi perisian tengah dalam fail konfigurasi aplikasi. Tambahkan kod berikut dalam fail config/main.php:
'components' => [
// ... 'middleware' => [ 'class' => 'yiiwebMiddlewareDispatcher', 'middlewares' => [ [ 'class' => 'appmiddlewaresDatabaseMiddleware', 'db' => 'mysql', ], [ 'class' => 'appmiddlewaresCacheMiddleware', 'cache' => 'redis', ], ], ], // ...
],
Dalam konfigurasi di atas, kami menetapkan dua middleware melalui tatasusunan middleware bagi konfigurasi middleware: DatabaseMiddleware dan CacheMiddleware. Antaranya, DatabaseMiddleware digunakan untuk memproses operasi berkaitan pangkalan data dan menerima parameter bernama db untuk menentukan jenis pangkalan data CacheMiddleware digunakan untuk memproses operasi berkaitan cache dan menerima parameter bernama cache untuk menentukan jenis cache.
Seterusnya, kita perlu mencipta dua kelas middleware untuk melaksanakan fungsi DatabaseMiddleware dan CacheMiddleware masing-masing. Cipta dua fail DatabaseMiddleware.php dan CacheMiddleware.php dalam direktori app/middlewares, dan tambahkan kod berikut:
namespace appmiddlewares;
use yii aseBaseObject;
use yiiwebResponsequest;
use yiiwebResponsequest;
use yiiwebReusese;
class DatabaseMiddleware memanjangkan BaseObject
public $db; public function handle(Request $request, Response $response, $next) { // 执行数据库操作 $connection = new Connection([ 'dsn' => 'mysql:host=localhost;dbname=task_manager', 'username' => 'root', 'password' => '', ]); // ... $connection->open(); // ... $connection->close(); return $next($request, $response); }
class CacheMiddleware memanjangkan BaseObject
public $cache; public function handle(Request $request, Response $response, $next) { // 执行缓存操作 $cache = new Cache([ 'class' => 'yiicachingRedisCache', 'redis' => 'redis', ]); // ... $cache->set('key', 'value'); // ... $cache->delete('key'); return $next($request, $response); }
// 处理程序逻辑
Kesimpulan
Atas ialah kandungan terperinci Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!