2013-07-20 11 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

あなたはむしろLaravelよりも、基本的なPHPの定数/機能を使用することができます。

__LINE__, __FILE__, __FUNCTION__, __CLASS__, __METHOD__ 

はあなたを与えるだろう現在の行、ファイル、関数、クラスまたはメソッド

get_class() 

+0

これはLaravel/Bladeで正しい結果を生成しません。 –

10
Route::currentRouteAction() 

戻りe..g "RecordAPIControllerの@ショー"

0

Laravelは(アプリで見つけることができます 'を照らし\サポート\ファサード\要求' の別名として "Request" を使用していますので、ご使用のクラスを提供します。 PHP)。 私のアドバイスは、モデル/コントローラ/ビュー名として "Request"を使用しないことです。

関連する問題