Rumah > pembangunan bahagian belakang > tutorial php > Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi

Perisian tengah rangka kerja Yii: menyediakan sokongan storan data berbilang untuk aplikasi

王林
Lepaskan: 2023-07-28 13:14:02
asal
1103 orang telah melayarinya

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',
        ],
    ],
],
// ...
Salin selepas log masuk

],

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;

yiidbConnection;


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);
}
Salin selepas log masuk

}


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);
}
Salin selepas log masuk

}

Dalam kod di atas dan CacheMiddleware melaksanakan operasi pangkalan data dan CacheMiddleware operasi. Dalam kaedah pemegang setiap perisian tengah, kami mula-mula melaksanakan operasi penyimpanan data tertentu, dan kemudian menghantar permintaan kepada perisian tengah atau pengendali akhir seterusnya dengan memanggil $next($request, $response).

Akhir sekali, kita boleh menggunakan kod berikut dalam pengawal atau tempat lain yang sesuai untuk memanggil middleware:

Yii::$app->middleware->dispatch(Yii::$app->request, Yii: :$app->response, function ($request, $response) {

// 处理程序逻辑
Salin selepas log masuk
});

Dalam kod di atas, kami memanggil middleware melalui kaedah Yii::$app->middleware->dispatch , dan tentukan logik pengendali terakhir melalui fungsi tanpa nama. Dalam fungsi tanpa nama ini, kita boleh menulis kod logik perniagaan tersuai.


Kesimpulan

Dengan menggunakan perisian tengah dalam rangka kerja Yii, kami boleh menyediakan berbilang sokongan storan data kepada aplikasi. Dengan mengkonfigurasi dan menulis kelas perisian tengah tersuai secara fleksibel, kami boleh menukar dan mengembangkan storan data dengan mudah. Saya harap artikel ini dapat membantu anda memahami dan menggunakan perisian tengah rangka kerja Yii. 🎜

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan