ここでは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と同じ出力結果になります。
