ここではCakePHP2.x Viewファイルに変数を渡す方法について解説しています。
ControllerでViewファイルに変数を渡す (方法1)
<?php $var = "var"; $array1 = array(1,2,3); $array2 = array( "foo" => "bar", "bar" => "foo", ); $hoge = 123; $this->set('var', $var); $this->set('array1', $array1); $this->set('array2', $array2); $this->set('hogehoge', $hoge);
$this->setの第一引数にViewファイルで使う変数名を、第二引数に受け渡す変数を指定します。
例では変数、配列変数、連想配列を渡しています。
Viewファイルで受け取った変数の表示
<?php echo $var; foreach($array1 as $val) { echo $val . "<br />"; } foreach($array2 as $key => $val) { echo $key . "=>" . $val . "<br />"; } echo $hogehoge;
$this->setの第一引数で指定した文字列が変数名になります。
出力結果
var1 2 3 foo=>bar bar=>foo 123
ControllerでViewファイルに変数を渡す (方法2)
<?php $var = "var"; $array1 = array(1,2,3); $array2 = array( "foo" => "bar", "bar" => "foo", ); $hoge = 123; $setData = array( 'var' => $var, 'array1' => $array1, 'array2' => $array2, 'hogehohe' => $hoge, ); $this->set($setData);
$this->setに連想配列としてViewファイルに変数を渡すこともできます。
方法1と同じ出力結果になります。