【发布时间】:2017-12-07 10:53:19
【问题描述】:
我正在尝试对路线进行操作前检查。因此我设置了一个中间件如下:
<?php
namespace App\Http\Middleware;
use Closure;
use Route;
class PermissionMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
list(, $action) = explode('@', Route::getCurrentRoute()->getActionName());
return $next($request);
}
}
在我的控制器中,我执行以下操作:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Blog;
use Image;
use File;
use Route;
class BlogController extends Controller
{
public function __construct()
{
$this->middleware(['auth','permission']);
}
public function create()
{
.......
.......
}
而我的路线如下:
Route::get('create/news',"BlogController@create");
但是,当我导航到该路线时,它会显示如下错误:
给出一个例外如下:
FatalErrorException 在 null 上调用成员函数 getActionName() 在 PermissionMiddleware.php(第 19 行)
我试图解决这个问题。
【问题讨论】:
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
标签: php laravel-5 laravel-routing laravel-middleware