Rumah >rangka kerja php >ThinkPHP >Panduan Penggunaan ThinkPHP6 Middleware: Melaksanakan penapisan dan pengesahan global

Panduan Penggunaan ThinkPHP6 Middleware: Melaksanakan penapisan dan pengesahan global

PHPz
PHPzasal
2023-08-26 12:16:452155semak imbas

Panduan Penggunaan ThinkPHP6 Middleware: Melaksanakan penapisan dan pengesahan global

Panduan Penggunaan Middleware ThinkPHP6: Melaksanakan Penapisan dan Pengesahan Global

Pengenalan:
Dalam pembangunan aplikasi web, middleware ialah cara teknikal yang sangat penting dan biasa digunakan. ThinkPHP6, sebagai rangka kerja pembangunan PHP arus perdana, menyediakan fungsi middleware yang berkuasa. Middleware boleh memproses antara permintaan dan respons, melaksanakan fungsi penapisan dan pengesahan global serta membantu meningkatkan keselamatan dan kestabilan aplikasi.

1. Apakah itu middleware?
Middleware ialah pautan antara klien dan pelayan yang mengendalikan permintaan dan respons. Dalam ThinkPHP6, middleware digunakan terutamanya untuk memintas dan memproses permintaan HTTP. Middleware boleh digunakan untuk semua permintaan untuk laluan yang berbeza atau secara global. Melalui penapisan, pengesahan dan prapemprosesan data permintaan, kawalan tepat ke atas logik perniagaan boleh dicapai.

2. Cara menggunakan middleware ThinkPHP6

  1. Buat fail middleware
    Buat fail middleware dalam direktori app/middleware, seperti CheckAuth.php. Fail middleware perlu mengandungi kaedah pemegang untuk memproses permintaan dan respons. Berikut ialah contoh middleware yang mudah:
<?php
namespace appmiddleware;

class CheckAuth
{
    public function handle($request, Closure $next)
    {
        // 在处理请求之前的操作,例如身份验证
        
        // 将请求传递给下一个中间件或控制器
        $response = $next($request);
        
        // 在响应之后的操作,例如修改响应数据
        
        return $response;
    }
}
  1. Daftar Middleware
    Daftar middleware dalam fail app/middleware.php. Contohnya, mendaftarkan middleware CheckAuth sebagai middleware global secara automatik boleh menggunakan middleware pada setiap permintaan:
use appmiddlewareCheckAuth;

return [
    CheckAuth::class,
];
  1. Konfigurasikan peraturan middleware
    Konfigurasikan peraturan middleware dalam fail app/route/middleware.php supaya Tentukan laluan mana perisian tengah hendaklah diaplikasikan. Berikut ialah contoh mudah:
use appmiddlewareCheckAuth;

return [
    'auth' => [
        'appindexcontrollerUser@index',
    ],
];
  1. Penghadan laluan middleware
    Apabila menggunakan middleware dalam penghalaan, anda boleh menggunakan sepasang kurungan segi empat sama dalam definisi laluan untuk mengehadkan skop aplikasi middleware:
Route::get('user/profile', '[auth]appindexcontrollerUser@profile');

Di atas route , pengesahan middleware hanya akan digunakan pada pengguna/profil laluan tertentu.

3. Contoh Middleware: Permintaan pengesahan parameter
Middleware sangat sesuai untuk mengesahkan parameter permintaan. Berikut ialah contoh perisian tengah pengesahan parameter permintaan ringkas:

<?php
namespace appmiddleware;

class CheckParams
{
    public function handle($request, Closure $next)
    {
        // 获取请求参数
        $params = $request->param();
        
        // 验证请求参数
        $validate = new     hinkValidate;
        $validate->rule([
            'name'  => 'require',
            'age' => 'integer|between:1,100',
        ]);
        if (!$validate->check($params)) {
            return json($validate->getError(), 400);
        }
        
        return $next($request);
    }
}

Perisian tengah di atas akan mengesahkan sama ada parameter nama dan umur dalam permintaan mematuhi peraturan dan mengembalikan mesej ralat jika ia tidak mematuhi.

4. Ringkasan
Middleware ialah salah satu fungsi yang sangat penting dalam rangka kerja ThinkPHP6, yang boleh membantu kami mencapai keperluan penapisan dan pengesahan global. Dengan mencipta fail middleware, mendaftar middleware, mengkonfigurasi peraturan middleware dan mengehadkan skop aplikasi middleware dalam laluan, kami boleh mencapai kawalan tepat ke atas permintaan dan respons dengan mudah. Pada masa yang sama, kami juga mempelajari melalui contoh mudah bagaimana perisian tengah digunakan pada pengesahan parameter permintaan, membantu kami meningkatkan keselamatan dan kestabilan aplikasi. Saya harap artikel ini dapat memberikan sedikit bantuan untuk anda memahami dan menggunakan perisian pertengahan ThinkPHP6.

Atas ialah kandungan terperinci Panduan Penggunaan ThinkPHP6 Middleware: Melaksanakan penapisan dan pengesahan global. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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