Thinkphp5进阶——05 中间件


前言

中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。

中间件应该拿来做些什么事情 ?

例如权限验证,访问记录,重定向等等。





使用中间件


1. 定义一个中间件

application目录下创建http文件夹,http目录创建middleware文件夹,middleware目录下创建中间件文件。




namespace app\http\middleware;


class FirstTest
{
	public function handle($request, \Closure $next)
	{
		if ($request->param('name') == 'tim') {
		  return redirect('think');
	}

		return $next($request);
	}
}



2. 使用中间件


1)路由使用中间件

使用链式方法middleware('中间件名')


Route::get('hello/:name', 'index/index/hello')->middleware('FirstTest');



2)控制器使用中间件

定义protected的middleware属性,并且可以使用only、except这样的词语定义什么方法使用中间件。

protected $middleware = [ 
	'Auth' 	=> ['except' 	=> ['hello'] ],
	'Hello' => ['only' 		=> ['hello'] ],
];

你可能感兴趣的:(thinkphp5)