我正在嘗試在路由上執行操作前檢查。因此,我成立了一箇中間件如下:Laravel 5.4中的路由操作方法
<?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',"[email protected]");
然而,當我導航到路由,它顯示如下錯誤:
給人一種例外如下:PermissionMiddleware.php上的空
FatalErrorException調用一個成員函數getActionName()(19行)
我試圖無濟於事解決這個。
請閱讀[在什麼情況下,我可以添加「緊急」或其他類似的短語到我的問題,以獲得更快的答案?](/ meta.stackoverflow.com/q/326569) - 總結是,這不是解決志願者問題的理想方式,而且可能對獲得答案起反作用。請不要將這添加到您的問題。 – halfer