【CakePHP2.x】View Blockで値を渡す2014-11-24

CakePHPの1.xで制作してきた自分にとっては、バージョンが2になってから何かと戸惑うことが多い。
このView Blockもそのひとつ。
紐解くとどうやら、Viewページのデータをレイアウトページに送るというものみたいだ。

【Viewテンプレート側】
$this -> assign('hoge', 'テスト');
でレイアウトに渡す

【レイアウト側】
echo $this->fetch($hoge);
で呼び出す

とすると「テスト」と表示される。
なるほど、View BlockはViewテンプレートからレイアウトに表示する機能というわけか。
大抵はコントローラで処理するからだが、そういう機会があれば使えそうだ。
ちなみにコントローラからは、$this->assign('hoge','テスト'); はエラーになって使えない。
コントローラからViewテンプレートとレイアウトにデータを渡す時は、$this->set()を使う。

整理すると
■コントローラからViewテンプレートとレイアウトにデータを渡す場合
 ●コントローラ側/$this->set('hoge', 'テスト');
 ●View、レイアウト側/echo $hoge;

■Viewテンプレートからレイアウトページへデータを渡す場合
 ●Viewテンプレート側/$this->assign('hoge', 'テスト');
 ●レイアウト側/ echo $this->fetch($hoge);