1

初心者の質問です。誰も気にしないことを願っています。

ファイル内 AccessesController.php

class AccessesController extends AppController {
    public $name = 'Accesses';
    public $helpers = array('Html', 'Form');

    public function index() {
       $this->aVariable = 123;
    }
}

ファイル内 View/Accesses.ctp

<h1> You came thru the AccessesController and set
    aVariable to <?php echo $this->aVariable?>, happy?</h1>

そこには 123 は出力されません。this->aVariable が 123 に設定されていることを知りません。

これらのグローバル変数を一緒に使用することになっていますConfigure::read / Configure::writeか? または、コントローラーとビューが同じ変数にアクセスするにはどうすればよいでしょうか? // Accesses.ctp は this->aVariable が 123 に設定されていることを知りません。

4

1 に答える 1

1

Controller から View に変数を送信するには:

//Controller
$this->set('variableName', $variableValue);

//View
echo $variableName;

複数の変数を送信する場合は、PHP の compact()を使用するのが一般的です。

//Controller
$var1 = 'pizza';
$var2 = 'beer';
$var3 = 'sleep'; //(trying to keep it PG)
$this->set(compact('var1', 'var2', 'var3'));

//View
echo 'The perfect night: ' . $var1 . ' ' . $var2 . ' ' . $var3;
于 2012-04-23T01:33:34.500 に答える