lundi 3 juillet 2017

Route Action Method in Laravel 5.4

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']);
}


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:

enter image description here

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. I will appreciate any effort to guide me in resolving this ASAP.

Thank you



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire