Я пытаюсь получить текущее действие маршрута, но я не уверен, как это сделать.  В Laravel 4 я использовал Route::currentRouteAction() но теперь это немного другое. 
  Я пытаюсь выполнить Route::getActionName() в моем контроллере, но он продолжает давать мне метод не найден. 
 <?php namespace App\Http\Controllers; use Route; class HomeController extends Controller { public function getIndex() { echo 'getIndex'; echo Route::getActionName(); } } 
        
    В Laravel 5 вы должны использовать метод или конструктор инъекции. Это сделает то, что вы хотите:
 <?php namespace App\Http\Controllers; use Illuminate\Routing\Route; class HomeController extends Controller { public function getIndex(Route $route) { echo 'getIndex'; echo $route->getActionName(); } } 
Чтобы получить имя действия, вам необходимо использовать:
 echo Route::getCurrentRoute()->getActionName(); 
и не
 echo Route::getActionName(); 
Чтобы получить название действия маршрута в Middleware, я делаю это:
 <?php namespace App\Http\Middleware; use Closure; use Illuminate\Routing\Router; class HasAccess { protected $router; public function __construct(User $user, Router $router) { $this->router = $router; } public function handle($request, Closure $next) { $action_name = $this->router->getRoutes()->match($request)->getActionName(); //$action_name will have as value 'App\Http\Controllers\HomeController@showWelcome' //Now you can do what you want whit the action name return $next($request); } } 
EDIT: вы не получите маршруты, защищенные этим промежуточным программным обеспечением 🙁
Вместо
 use Illuminate\Routing\Route; 
Использовать это
 use Illuminate\Support\Facades\Route; 
Если вы хотите получить псевдоним маршрута, вы можете использовать:
 Route::getCurrentRoute()->getName() 
Чтобы получить только имя действия (без имени контроллера):
 list(, $action) = explode('@', Route::getCurrentRoute()->getActionName()); 
Чтобы получить только имя метода, вы можете использовать …
 $request->route()->getActionMethod() 
или с фасадом …
 Route::getActionMethod() 
Для Laravel 5.1 используйте:
 $route = new Illuminate\Routing\Route(); $route->getActionName(); // Returns App\Http\Controllers\MyController@myAction $route->getAction(); // Array with full controller info 
В этом классе есть много полезных методов. Просто проверьте код для получения более подробной информации.
Чтобы получить только имя действия в Laravel 5.4
 explode('@', Route::getCurrentRoute()->getActionName())[1] 
Невозможно найти лучший способ, использовать в поле зрения, в одной строке …
Вы можете использовать, чтобы получить информацию о контроллере из самого запроса
 $request->route()->getAction()