HTML ヘルパでは value をどこから持ってくるのがいいか?
以下の優先順位で取得を試みるとよさそう。
- コントローラで設定した値
- リクエスト値
- セッション値
- デフォルト値
そんな関数を作ってみた。
<?php $html_helper_target; //コントローラを事前に設定しておく。 function _($name, $default = null){ $t = $html_helper_target; $ret = $t->result->get($name); if($ret !== null){ return $ret; } $ret = $t->request->get($name); if($ret !== null){ return $ret; } $ret = $t->session->get($name); if($ret !== null){ return $ret; } return $default; } ?>
ビューの中では以下のように使う。
<?php <html> <body> <?=_("user_id")?> </body> </html> ?>