CakePHP2.x Viewファイルに変数を渡す

ここではCakePHP2.x Viewファイルに変数を渡す方法について解説しています。

cakephp

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください