在Laravel 4中获取控制器和操作名称

时间:2013-07-20 17:51:02

标签: php laravel

我正在尝试访问当前控制器的名称和当前方法,以将其作为变量传递给我的视图。 我已经尝试了几种方法,我在网上发现但是它们没有用,所以我认为它们是用于Laravel 3。

这是我尝试过的

Request::$route->controller

给出

Access to undeclared static property: Illuminate\Support\Facades\Request::$route

Request::route()->controller

给出

Call to undefined method Illuminate\Http\Request::route()

5 个答案:

答案 0 :(得分:10)

Route::currentRouteAction()

返回e..g" RecordAPIController @ show"

答案 1 :(得分:7)

尝试根据route docs命名您的路线,然后使用$name = Route::currentRouteName();

在什么情况下你不知道控制器/路由提前被解雇了什么?你能告诉我们你的用例吗?

答案 2 :(得分:2)

每个请求中的Router实例具有以下可能有用的方法:

/**
 * Retrieve the entire route collection.
 * 
 * @return \Symfony\Component\Routing\RouteCollection
 */
public function getRoutes()
{
    return $this->routes;
}

/**
 * Get the current request being dispatched.
 *
 * @return \Symfony\Component\HttpFoundation\Request
 */
public function getRequest()
{
    return $this->currentRequest;
}

/**
 * Get the current route being executed.
 *
 * @return \Illuminate\Routing\Route
 */
public function getCurrentRoute()
{
    return $this->currentRoute;
}

/**
 * Get the controller inspector instance.
 *
 * @return \Illuminate\Routing\Controllers\Inspector
 */
public function getInspector()
{
    return $this->inspector ?: new Controllers\Inspector;
}

答案 3 :(得分:1)

Laravel使用“Request”作为“Illuminate \ Support \ Facades \ Request”的别名(可以在app.php中找到)。 我的建议是避免使用“请求”作为模型/控制器/视图名称。

答案 4 :(得分:-3)

你可以使用基本的php常量/函数,而不是Laravel:

__LINE__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__

将为您提供当前的行,文件,函数,类或方法

get_class()

为您提供当前的课程