[CakePHP] 開いているページのコントローラー・アクションを取得する方法

CakePHPで現在開いているページのコントローラー名とアクション名の取得についてです。コントローラー名・アクション名を取得して、分岐処理を行いたい場合などに必要ですね。

コントローラー名、アクション名の取得

//コントローラー名を取得
$cName=$this->name;

//アクション名を取得
$aName=$this->action;

こんな感じで簡単に取得できます。

利用例です。

if(($cName=='Posts')&&($aName=='edit')){
//処理内容を記載
}

コントローラー名「Posts」、アクション名「edit」の時に特定の処理を行いたい場合は、if文を使って上記のように処理します。

ドキュメントルート・URLの取得

ドキュメントルートを取得

$this->webroot

完全なURLプリフィクスの取得

Router::fullbaseUrl()

FULL_BASE_URLはバージョン2.4で撤廃になりました。

http://example.com/sample/ がドキュメントルートの場合、このURLを取得するには下記のようになります。

Router::fullbaseUrl() .$this->webroot


Author: webmaster