今天小編給大家分享一下laravel中間件怎么自定義的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為烏魯木齊企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),烏魯木齊網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
中間件為過濾進(jìn)入應(yīng)用的 HTTP 請(qǐng)求提供了一套便利的機(jī)制。例如,Laravel 內(nèi)置了一個(gè)中 間件來驗(yàn)證用戶是否經(jīng)過認(rèn)證(如登錄),如果用戶沒有經(jīng)過認(rèn)證,則中間件會(huì)將用戶重定 向到登錄頁面;而如果用戶已經(jīng)經(jīng)過認(rèn)證,則中間件會(huì)允許請(qǐng)求繼續(xù)往前進(jìn)入下一步操作。 除了認(rèn)證功能,中間件還可以被用來處理許多其他任務(wù)。比如,CORS 中間件可以為離開站 點(diǎn)的相應(yīng)添加合適的頭(跨域);日志中間件可以記錄所有進(jìn)入站點(diǎn)的請(qǐng)求
,從而方便我們 構(gòu)建系統(tǒng)日志系統(tǒng)。
Lavarel 自帶了一些中間件,包括認(rèn)證、CSRF 保護(hù)中間件等。所有的中間件都位于 app\Http\Middleware 目錄下。
步驟:
使用 artisan 命令創(chuàng)建中間件php artisan make:middleware 中間件名
在創(chuàng)建的中間件中編寫邏輯
在 app\Http 文件夾中的配置文件 Kernel.php 中注冊(cè)中間件
將中間件分配給路由或控制器
比如游樂園某些項(xiàng)目需要12歲或者身高超過1米4可以玩。
php artisan make:middleware CheckAge
Closure 是一個(gè)閉包函數(shù)
$request用來接收應(yīng)用的請(qǐng)求數(shù)組
$next 將請(qǐng)求傳遞給應(yīng)用程序
$next($request) 將請(qǐng)求傳遞給應(yīng)用程序
public function handle(Request $request, Closure $next) { if($request->age < 12){ dd("你的年齡不符合要求") ; } return $next($request); }
打開 app\Http 文件夾中的配置文件 Kernel.php
$middleware 配置全局中間件,所有http請(qǐng)求都需要經(jīng)過我們定義好的中間件。
$middlewareGroups中間件組
$routeMiddleware 定義別名
'age' => \App\Http\Middleware\CheckAge::class
//中間件Route::get('middleware/{age}',function () { return "你的年齡符合要求";})->middleware('age');
以上就是“l(fā)aravel中間件怎么自定義”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。