I am trying to do a before-action check on a route. Therefore I set up a middleware as follows:
<?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);
}
}
In my controller, I do as follows:
<?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()
{
.......
.......
}
And my route is as follows:
Route::get('create/news',"BlogController@create");
However, when I navigate to the route, it displays an error as follows:
Giving an exception as follows:
FatalErrorException Call to a member function getActionName() on null in PermissionMiddleware.php (line 19)
I have tried to no avail to resolve this.