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
$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 回答