Laravel 5 Laravel 5中间件
您好,我正在使用Laravel 5的中间件,我正在做的是,我有一些控制器正在使用的中间件,我的每个控制器都有自己的配置,我需要通过我的中间件,我如何才能做到这一点?如果您在$Middleware array中的App/Http/Kernel.php中定义的堆栈中使用此中间件,您没有可用的$request->route 但是,如果您在routes.php文件中将其用作单个路由或路由组的中间件,则可以这样做: 根据需要创建一个配置文件,其中的配置项使用每个路由的相同名称命名,然后在中间件中获得路由名称并加载适当的配置 抱歉,如果混淆了,请想象以下代码: Config/permissions.php 顺便说一句,我建议您使用Laracast foruns: www.laracast.com/displayLaravel 5 Laravel 5中间件,laravel-5,laravel-middleware,Laravel 5,Laravel Middleware,您好,我正在使用Laravel 5的中间件,我正在做的是,我有一些控制器正在使用的中间件,我的每个控制器都有自己的配置,我需要通过我的中间件,我如何才能做到这一点?如果您在$Middleware array中的App/Http/Kernel.php中定义的堆栈中使用此中间件,您没有可用的$request->route 但是,如果您在routes.php文件中将其用作单个路由或路由组的中间件,则可以这样做: 根据需要创建一个配置文件,其中的配置项使用每个路由的相同名称命名,然后在中间件中获得路由名
<?php
return [
// Route name here
'user.index' =>
// Your route options here
[
'option_a' => true,
'option_b' => false,
],
'user.edit' =>
[
'option_a' => true,
'option_b' => true,
],
/* ... */
];
?>
public function handle($request, Closure $next)
{
$route = $request->route()->getName();
/* Check if there is a permission to this route in config file */
if (\Config::get("permissions.{$route}")) {
$options = \Config::get("permissions.{$route}");
/* Here will be your options by route */
/* Now it's up to you do what you want */
} else {
/* If not, use default options */
}
return $next($request);
}