Rumah >rangka kerja php >Laravel >Apakah kegunaan middleware laravel?

Apakah kegunaan middleware laravel?

WBOY
WBOYasal
2022-04-07 16:54:003013semak imbas

Dalam laravel, peranan middleware adalah untuk menapis permintaan HTTP dan melaksanakan operasi logik yang berbeza mengikut permintaan yang berbeza boleh memintas dan memproses data permintaan dan memeriksa data, dan melakukan pemprosesan logik untuk menentukan sama ada Membenarkan kemasukan ke middleware seterusnya.

Apakah kegunaan middleware laravel?

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Apakah kegunaan middleware laravel?

Middleware, seperti namanya, memintas dan memproses data permintaan, mengesahkan data dan melakukan pemprosesan logik untuk menentukan sama ada kemasukan dibenarkan antara permintaan dan respons .

Ringkasnya, peranan middleware dalam laravel adalah untuk menapis permintaan HTTP dan melaksanakan operasi logik yang berbeza berdasarkan permintaan yang berbeza.

Kita boleh mencapai fungsi berikut melalui perisian tengah:

  • Tentukan laluan tertentu

  • Tetapan HTTP pengepala respons

  • Rekod permintaan

  • Tapis parameter permintaan

  • Tentukan sama ada untuk mendayakan Mod penyelenggaraan tapak

  • Lakukan beberapa operasi yang diperlukan sebelum dan selepas respons

Perisian tengah tersuai

Baris arahan Laksanakan arahan mudah berikut untuk mencipta middleware baharu dengan mudah

php artisan make:middleware <MiddlewareName>
//MiddlewareName 就是你要创建的中间件的名字

Laksanakan arahan di atas, Laravel akan secara automatik mencipta middleware yang mengandungi hanya kaedah pemegang dalam direktori app/Http/Middleware.

<?php
namespace App\Http\Middleware;
use Closure;
class RedirectIfSuperAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

Apabila middleware dipanggil, kaedah pemegang akan dilaksanakan. Apa yang perlu diperhatikan di sini ialah kaedah pemegang mempunyai dua parameter secara lalai $request dan $next. $request digunakan untuk menerima kumpulan permintaan aplikasi, dan $next menghantar permintaan kepada aplikasi. Kedua-dua parameter ini penting untuk mengendalikan! Middleware juga termasuk pra-pertengahan dan pasca-pertengahan.

"Premiddleware" seperti namanya mengendalikan beberapa logik sebelum memajukan permintaan kepada aplikasi. Selepas middleware, sebaliknya, berjalan selepas aplikasi telah memproses permintaan dan menghasilkan respons.

Perisian tengah hadapan:

<?php
namespace App\Http\Middleware;
use Closure;
class RedirectIfSuperAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        //你的逻辑就在这里
        return $next($request);
    }
}

Perisian tengah pos:

<?php
namespace App\Http\Middleware;
use Closure;
class RedirectIfSuperAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
        //你的逻辑就在这里 例如 重定向到  `/`
        return $response;
    }
}

Apakah kegunaan middleware laravel?

[Cadangan berkaitan: tutorial video laravel

Atas ialah kandungan terperinci Apakah kegunaan middleware laravel?. 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