Cakephp2系でViewからビューしたいあれこれ
Cakephp2系でViewファイルから各項目へのアクセス
( Cakephp2.7 準拠)
※paramsのところをrequestにしても同じ。
@ http://example.com/user_settings/add_profile <?php // app/UserSettings/add_profile.ctp // コントローラー echo $this->name // 'UserSettings' echo $this->params['controller'] // 'user_settings' (アクセスしたurlに依存) // アクション // どちらも 'add_profile' (アクセスしたurlに依存) echo $this->action ; echo $this->params['action']; // 現在のurl $this->params['url'] // 'user_settings/add_profile' // 現在のパス $this->params['here'] // '/user_settings/add_profile' // POSTでわたされたデータ $this->params->data; // GETでわたされたデータ $this->params->query; // $this->setでセットされた変数一覧 echo $this->viewVars;
余談 コントローラー名とアクション名の処理について
Cakephp2ではurlにするときに
- コントローラー名はUpperCamelでもlower_snake でも有効
- アクション名はlower_snakeでもUpper_snake (!?) でも有効
なので、"アクセスしたurlに依存"と書いたところは表記揺れが生じる。
文字列処理するならばInfrectorクラスなどを使って整形した方が良い
<?php echo Inflector::camelize('upper_camel') // 'UpperCamel'
https://book.cakephp.org/2.0/ja/core-utility-libraries/inflector.html
余談 2
上のはヘルパーからも同様に呼び出せる。
よいヘルパーライフを。