本文實例講述了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相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結》、《php面向對象程序設計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。