laravel5使用中间件时ErrorException in Route.php line 194

学习laravel5的中间件的时候,根据手册写了个自定义的中间件,结果在未通过中间件时成功拦截了,但是通过了中间件的时候,反而报错:ErrorException in Route.php line 194


自定义的中间件如下:


<?php namespace App\Http\Middleware;

use Closure;

class OldMiddleware {

	/**
	 * Handle an incoming request.
	 *
	 * @param  \Illuminate\Http\Request  $request
	 * @param  \Closure  $next
	 * @return mixed
	 */
	public function handle($request, Closure $next){
		if($request->input('age') < 200){ //age小于200则重定向
			return redirect('hello');	
		}
		return $next($request);
	}

}


在Kernel.php中定义使用该中间件:


	protected $routeMiddleware = [
		'auth' => 'App\Http\Middleware\Authenticate',
		'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
		'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
		'old' => 'App\Http\Middleware\OldMiddleware', //自定义的中间件
	];


路由是这样的:


Route::get('admin/profile', ['middleware'=>'old', function(){
	return 'yes';
}]);


报错如标题所示。这个报错是因为laravel5(5.0之后的没测试)的中间件使用时,需要注意路由群组第二个参数,不能为function,应该是这样的:


Route::get('admin/profile', ['middleware'=>'old', 'uses'=>'IndexController@index']);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值