2013-07-20 126 views
6

我試圖訪問當前控制器的名稱和當前方法以將它作爲變量傳遞給我的視圖。 我試過幾種方法從指針我在網上找到,但他們沒有工作,所以我認爲他們是對Laravel 3.在Laravel 4中獲取控制器和操作名稱

這裏是我試過

Request::$route->controller 

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

Request::route()->controller 

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

回答

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; 
} 
+6

如何訪問'Router'實例? –

7

嘗試命名你的路由爲每route docs,然後使用$name = Route::currentRouteName();

在什麼情況下,你不知道什麼控制器/途徑是被解僱的時間提前?你能告訴我們你的用例是什麼嗎?

-3

你可以使用基本的PHP常量/功能,而不是Laravel:

__LINE__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__ 

會給你當前行,文件,功能,分類或方法

get_class() 

爲您提供了當前類

+0

這不會在Laravel/Blade中產生正確的結果。 –

10
Route::currentRouteAction() 

回報e..g 「RecordAPIController @秀」

0

Laravel使用 「請求」 爲別名 '照亮的\ Support \外立面\請求'(可在應用程序中找到。 PHP)。 我的建議是避免使用「請求」作爲您的模型/控制器/視圖名稱。

相關問題