CakePHP3で現在のコントローラー名・アクション名を取得

スポンサーリンク

CakePHP3アプリケーションで、現在実行中のコントローラー名、アクション名を取得する方法です。それぞれ、やり方が複数あります。

— 環境 —
PHP 5.5.19
CakePHP 3.1.1

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

いずれも返り値は、string(文字列)として取得できます。

現在のコントローラーを取得

現在のコントローラー名を取得するには以下の方法がある。

$this->name というのはちょっと分かり辛い感じもする。CakePHP 2 の時もこれで取得できた記憶がありますけど。

現在のアクションを取得

現在のアクション名を取得するには以下の方法がある。

アクションについては、$this->name 以外のコントローラー取得の方法と対応する形です。

どれを使うべきか?

ドキュメントを読んだけど、どれを使うべきかという記述を見つけられませんでした。自分としては…

または、

のどちらかの方法を使うのが分かりやすいかな、と思います。とりあえず前者の方法を使うことにしました。

スポンサーリンク
私は Ruby on Rails の前は、PHP & CakePHP を使っていました(今も使いますけど)。PHP についてはオライリーの本を中心に軽く10冊以上は読み込みました。
 
スポンサーリンク

Leave Your Message!