PHP中间件 middleware,Laravel框架控制器的middleware中间件用法分析

本文详细介绍了如何在Laravel中使用middleware实现活动开始前仅允许访问宣传页面,活动开始后才能访问其他页面的功能。通过创建中间件、注册、应用及前后置操作,为开发者提供了一个实际操作的示例。
摘要由CSDN通过智能技术生成

本文实例讲述了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下创建中间件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数组中增加

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框架的PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值