Laravel 5 如何获取路由操作名称?

2021-12-18 00:00:00 php laravel laravel-5

我正在尝试获取当前的路线操作,但我不确定如何去做.在 Laravel 4 中,我使用了 Route::currentRouteAction() 但现在有点不同.

I'm trying to get the current route action, but I'm not sure how to go about it. In Laravel 4 I was using Route::currentRouteAction() but now it's a bit different.

我正在尝试在我的控制器中执行 Route::getActionName() 但它一直给我找不到方法.

I'm trying to do Route::getActionName() in my controller but it keeps giving me method not found.

<?php namespace AppHttpControllers;

use Route;

class HomeController extends Controller
{
    public function getIndex()
    {
        echo 'getIndex';
        echo Route::getActionName();
    }
}

推荐答案

在 Laravel 5 中,您应该使用方法或构造函数注入.这将执行您想要的操作:

In Laravel 5 you should be using Method or Constructor injection. This will do what you want:

<?php namespace AppHttpControllers;

use IlluminateRoutingRoute;

class HomeController extends Controller
{
    public function getIndex(Route $route)
    {
        echo 'getIndex';
        echo $route->getActionName();
    }
}

相关文章