Laravel框架控制器的middleware中間件用法分析
本文實例講述了Laravel框架控制器的middleware中間件用法。分享給大家供大家參考,具體如下:
場景:活動開始前只能訪問宣傳頁面,開始后才可以訪問其他頁面:
步驟:
新建中間件,
注冊中間件,
使用中間件,
中間件的前置和后置操作。
控制器:
public function activity0(){ return '活動快要開始啦,敬請期待'; } public function activity1(){ return '活動頁面1'; } public function activity2(){ return '活動頁面2'; }
路由:
Route::any('activity0',['uses'=>'StudentController@activity0']); Route::any('activity1',['uses'=>'StudentController@activity1']); Route::any('activity2',['uses'=>'StudentController@activity2']);
在App\Http\Middleware下創(chuàng)建中間件Activity.php:
namespace App\Http\Middleware; use Closure; class Activity{ public function handle($request,Closure $next){ if(time() < strtotime('2018-01-01')){ return redirect('activity0'); } return $next($request); } } //注冊中間件,在Kernel.php中的$routeMiddleware數(shù)組中增加 protected $routeMiddleware = [ 'activity' => \App\Http\Middleware\Activity::class, ];
使用中間件,路由中的設置
//宣傳頁面不需要中間件驗證,不能放里邊 Route::any('activity0',['uses'=>'StudentController@activity0']); Route::group(['middleware'=>['activity']],function(){ Route::any('activity1',['uses'=>'StudentController@activity1']); Route::any('activity2',['uses'=>'StudentController@activity2']); });
//后置中間件 public function handle($request,Closure $next){ $response = $next($request); echo $response; echo '我是后置操作'; }
更多關于Laravel相關內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結》、《php面向對象程序設計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
相關文章
PHP?在?Microsoft?Windows?下的命令行方式
PHP?在?Microsoft?Windows?下的命令行方式,要在命令行下運行?PHP,可以無需對?Windows?做任何改動,今天通過本文給大家介紹下PHP?在?Microsoft?Windows?下的命令行方式,感興趣的朋友一起看看吧2022-09-09Yii2框架操作數(shù)據(jù)庫的方法分析【以mysql為例】
這篇文章主要介紹了Yii2框架操作數(shù)據(jù)庫的方法,結合實例形式分析了Yii2框架配置、連接mysql數(shù)據(jù)庫及執(zhí)行SQL進行增刪改查等相關操作技巧,需要的朋友可以參考下2019-05-05Laravel 5框架學習之日期,Mutator 和 Scope
這篇文章主要介紹了Laravel 5框架學習之日期,Mutator 和 Scope的相關資料,需要的朋友可以參考下2015-04-04