php中间件怎么使用,laravel框架中间件简单使用方法示例
本文實(shí)例講述了laravel框架中間件簡單使用方法。分享給大家供大家參考,具體如下:
laravel內(nèi)置了一個(gè)中間件來驗(yàn)證用戶是否經(jīng)過認(rèn)證,如果用戶沒有經(jīng)過認(rèn)證,中間件會(huì)將用戶重定向到登錄頁面,否則如果用戶經(jīng)過認(rèn)證,中間件就會(huì)允許請求繼續(xù)往前進(jìn)入下一步操作。
當(dāng)然,除了認(rèn)證之外,中間件還可以被用來處理更多其它任務(wù)。比如:CORS 中間件可以用于為離開站點(diǎn)的響應(yīng)添加合適的頭(跨域);日志中間件可以記錄所有進(jìn)入站點(diǎn)的請求。
Laravel框架自帶了一些中間件,包括認(rèn)證、CSRF 保護(hù)中間件等等。所有的中間件都位于 app/Http/Middleware目錄。
中間是請求前還是請求后執(zhí)行取決于中間件本身,以下中間件會(huì)在請求處理前執(zhí)行一些任務(wù)
namespace App\Http\Middleware;
use Closure;
class TestMiddle
{
public function handle($request, Closure $next)
{
// 執(zhí)行動(dòng)作
if(!$request->session()->has('huser')){
return redirect("login/index");
}
return $next($request);
}
}
而下面這個(gè)中間件則會(huì)在請求處理后執(zhí)行其任務(wù):
namespace App\Http\Middleware;
use Closure;
class TestMiddle
{
public function handle($request, Closure $next)
{
$response = $next($request);
// 執(zhí)行動(dòng)作
if(!$request->session()->has('huser')){
return redirect("login/index");
}
return $response;
}
}
中間件可以自己在編輯器里面新建對應(yīng)類生成,也可用命令生成
php artisan make:middleware TestMiddle
此時(shí),laravel的app\Http\Middleware\目錄就會(huì)多一個(gè)TestMiddle.php的中間件文件
此時(shí)中間件還不能直接使用,必須把它注冊到我們的laravel中,如下
只需在 app/Http/Kernel.php 類(3個(gè)屬性,對應(yīng)里面加入,我有時(shí)用路由的)
'TestMiddle' => \App\Http\Middleware\TestMiddle::class,
分配中間件到路由,下面介紹三種方式
Route::get('/',function(){
return redirect('home/index');
})->middleware('TestMiddle');
Route::group(['middleware' => ['TestMiddle']], function() {
Route::controller("db","DataBaseController");
});
Route::controller("home","HomeController",['middleware'=>'TestMiddle']);
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的php中间件怎么使用,laravel框架中间件简单使用方法示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爱思加强版提示“爱思加强版更新”怎么办
- 下一篇: mac php 超时,PHP---Mac