Rumah > Artikel > rangka kerja php > Menggunakan perisian tengah untuk mengendalikan permintaan dalam ThinkPHP6
[Pengenalan]
ThinkPHP6 ialah rangka kerja sumber terbuka PHP yang terkenal Ia secara elegan mewarisi ciri-ciri terbaik versi sebelumnya dan menyepadukan ciri baharu PHP7, menjadikannya lebih pantas dan lebih selamat. Dalam ThinkPHP6, middleware ialah bahagian yang sangat penting, yang membolehkan pembangun memproses sebelum, semasa dan selepas permintaan untuk mencapai aplikasi yang lebih fleksibel dan berskala.
[Teks]
1.
Perisian tengah merujuk kepada kod yang boleh dilaksanakan sebelum dan selepas permintaan sampai ke permohonan anda. Kewujudan middleware membolehkan aplikasi diperluaskan dan diuruskan dengan mudah.
Dalam ThinkPHP6, middleware boleh melaksanakan fungsi berikut:
2. Penggunaan middleware
Menggunakan middleware ThinkPHP6 adalah sangat mudah Anda hanya perlu mengkonfigurasi middleware masuk fail konfigurasi, dan ia boleh dilaksanakan dalam susunan yang ditentukan.
2.1 Pendaftaran middleware
Dalam fail config/middleware.php, anda boleh melihat senarai middleware lalai berikut:
<?php return [ // 别名或分组 'alias' => [], // 优先级设置,此数组中的中间件会按照优先级进行先后排序 'priority' => [], // 中间件列表 'middleware' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareAllowCrossDomain::class, ], ];
Antaranya, middleware pertama ialah middleware SessionInit , tujuannya adalah untuk memulakan sesi, middleware kedua ialah AllowCrossDomain middleware, tujuannya adalah untuk membenarkan permintaan merentas domain. Jika anda perlu mengkonfigurasi middleware anda sendiri, anda boleh menentukan kelas middleware anda sendiri dan menambahnya pada konfigurasi di atas.
2.2 Isih perisian tengah
Perisian tengah dalam ThinkPHP6 boleh diisih mengikut keutamaan Lebih kecil nilai keutamaan, lebih tinggi susunan pelaksanaan. Dalam fail konfigurasi middleware, anda boleh menetapkan keutamaan middleware untuk kumpulan atau alias yang ditentukan, seperti yang ditunjukkan di bawah:
<?php return [ // 别名或分组 'alias' => [ 'home' => ppmiddlewareCheck::class, ], // 优先级设置,此数组中的中间件会按照优先级进行先后排序 'priority' => [ ppmiddlewareDemo::class => 1, ppmiddlewareTest::class => 2, ], // 中间件列表 'middleware' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareAllowCrossDomain::class, ], ];
Dalam konfigurasi di atas, tetapkan middleware demo kepada keutamaan No. 1, uji middleware The fail ditetapkan kepada tahap keutamaan 2.
2.3 Penggunaan middleware
Dalam ThinkPHP6, middleware boleh digunakan untuk penghalaan global atau penghalaan kumpulan, atau untuk pengawal atau kaedah pengawal tertentu.
(1) Penghalaan global menggunakan perisian tengah
Dalam fail route/route.php dalam direktori aplikasi, anda boleh mendaftarkan penghalaan global, seperti yang ditunjukkan di bawah:
<?php use thinkacadeRoute; Route::get('hello/:name','index/hello')->middleware('Check');
Dalam Dalam kod di atas, middleware bernama Check ditambah melalui middleware('Check'), yang bermaksud bahawa middleware Check dilaksanakan sebelum kaedah indeks/hello dilaksanakan.
(2) Penghalaan kumpulan menggunakan perisian tengah
Dalam fail route/group.php dalam direktori aplikasi, penghalaan kumpulan boleh didaftarkan, seperti berikut:
<?php use thinkacadeRoute; //定义分组路由 Route::group('/api', function () { Route::get('/user/:id', 'api/user/read')->middleware('Check'); });
Dalam Dalam kod di atas, laluan kumpulan bernama api ditentukan, di mana laluan /user/:id menggunakan perisian tengah bernama Check.
(3) Menggunakan middleware pada tahap pengawal
Dalam fail pengawal, middleware peringkat kaedah boleh ditakrifkan melalui kaedah yang dinamakan khas, seperti ditunjukkan di bawah:
<?php namespace appcontroller; class Test { // 方法级别 public function read() { return "Hello Word!"; } // 方法级别 public function write() { return "Hello China!"; } // 控制器级别 protected $middleware = [ppmiddlewareCheck::class]; // 方法级别 protected $middleware = [ 'read' => [ppmiddlewareReadCheck::class], 'write' => [ppmiddlewareWriteCheck::class], ]; }
Dalam kod di atas, kaedah baca dan tulis menggunakan middleware peringkat kaedah, dan middleware Semak adalah middleware peringkat pengawal.
[Ringkasan]
Middleware ialah alat berkuasa yang menyediakan kaedah pemprosesan permintaan yang sangat fleksibel, membolehkan kami memproses data sebelum, semasa dan selepas permintaan. Dalam ThinkPHP6, menggunakan middleware adalah sangat mudah Anda hanya perlu menulis kelas middleware mengikut peraturan tertentu dan mengkonfigurasinya.
Atas ialah kandungan terperinci Menggunakan perisian tengah untuk mengendalikan permintaan dalam ThinkPHP6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!