6

我正在尝试访问当前控制器的名称和当前方法以将其作为变量传递给我的视图。我从网上找到的指针尝试了几种方法,但它们不起作用,所以我认为它们适用于 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()
4

5 回答 5

10
Route::currentRouteAction()

返回例如“RecordAPIController@show”

于 2014-09-10T22:55:08.027 回答
7

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

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

于 2013-07-21T03:04:17.353 回答
2

每个 Request 中的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;
}
于 2013-07-21T03:14:11.850 回答
1

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

于 2015-05-27T15:33:29.093 回答
-3

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

__LINE__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__

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

get_class()

为您提供当前课程

于 2014-03-06T10:05:37.753 回答