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

CakePHPで現在開いているページのコントローラー名とアクション名の取得についてです。コントローラー名・アクション名を取得して、分岐処理を行いたい場合などに必要ですね。
コントローラー名、アクション名の取得
1 2 3 4 5 |
//コントローラー名を取得 $cName=$this->name; //アクション名を取得 $aName=$this->action; |
こんな感じで簡単に取得できます。
利用例です。
1 2 3 |
if(($cName=='Posts')&&($aName=='edit')){ //処理内容を記載 } |
コントローラー名「Posts」、アクション名「edit」の時に特定の処理を行いたい場合は、if文を使って上記のように処理します。
ドキュメントルート・URLの取得
ドキュメントルートを取得
1 |
$this->webroot |
完全なURLプリフィクスの取得
1 |
Router::fullbaseUrl() |
FULL_BASE_URLはバージョン2.4で撤廃になりました。
http://example.com/sample/ がドキュメントルートの場合、このURLを取得するには下記のようになります。
1 |
Router::fullbaseUrl() .$this->webroot |
関連記事
- [CakePHP] トップページ(ホームページ)を設定する方法
- [Nuxt] パラメータの取得とバリデート
- [CakePHP] JSONを使う事前準備と、モデルのデータをJSONに変更する処理
- [CakePHP] GETでパラメタ・コントローラ名・アクション名を取得
- [CakePHP] 別のコントローラにあるアクションを利用する方法