- 更新日: 2016年3月4日
- PHP & CakePHP
CakePHP3で現在のコントローラー名・アクション名を取得
スポンサーリンク
CakePHP3アプリケーションで、現在実行中のコントローラー名、アクション名を取得する方法です。それぞれ、やり方が複数あります。
— 環境 —
PHP 5.5.19
CakePHP 3.1.1
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
いずれも返り値は、string(文字列)として取得できます。
現在のコントローラーを取得
現在のコントローラー名を取得するには以下の方法がある。
1 2 3 4 |
$this->request->controller; $this->request->params['controller']; $this->request->param('controller'); $this->name; |
$this->name というのはちょっと分かり辛い感じもする。CakePHP 2 の時もこれで取得できた記憶がありますけど。
現在のアクションを取得
現在のアクション名を取得するには以下の方法がある。
1 2 3 |
$this->request->action; $this->request->params['action']; $this->request->param('action'); |
アクションについては、$this->name 以外のコントローラー取得の方法と対応する形です。
どれを使うべきか?
ドキュメントを読んだけど、どれを使うべきかという記述を見つけられませんでした。自分としては…
1 2 |
$this->request->controller; $this->request->action; |
または、
1 2 |
$this->request->params['controller']; $this->request->params['action']; |
のどちらかの方法を使うのが分かりやすいかな、と思います。とりあえず前者の方法を使うことにしました。
スポンサーリンク
私は Ruby on Rails の前は、PHP & CakePHP を使っていました(今も使いますけど)。PHP についてはオライリーの本を中心に軽く10冊以上は読み込みました。
>> 次の記事 : CakePHPで日付選択フォームのカスタマイズ
- PHP & CakePHP の関連記事
- PHP+MySQLでNo such file or directoryエラー
- bin/cakeコマンドでintlエラーが出る場合の対処(CakePHP)
- CakePHPアプリケーションをCapistranoでデプロイ
- Integrity constraint violation:Column ‘created’ in order clause is ambiguousエラー/CakePHP
- CakePHPでDB関連テーブルのレコード・データを取得
- CakePHPでカラム属性に別名/エイリアスを付ける仮想フィールド
- CakePHPで日付選択フォームのカスタマイズ
- PHPインストールでconfigure: error: freetype.h not foundエラー
- CakePHPでログイン後に元のページにリダイレクトさせる
- CakePHPで全てのモデル/テーブル名一覧を取得
- 初回公開日: 2016年3月3日
Leave Your Message!