我正在创建一个模型视图控制器框架,并且我是一种新的东西。我想将变量从控制器传递给视图。我的View.php构造函数如下所示:
function __construct($file, $args) {
$this->view = $file;
foreach($args as $key => $arg) {
$this->view->$key = 'awda';
}
}
它给我错误原因
$this->view->$key is not a valid statement.
如果我从Controller那样做
$this->view->hello = 'hello world'
我回音
$this->hello
在视图中它工作正常,但我希望能够传入多个变量。有没有人知道更好的方法呢?谢谢
答案 0 :(得分:3)
您正在尝试将属性分配给我怀疑是字符串($file
)。由于您位于视图的构造函数中,因此只需使用$this
来引用视图:
function __construct($file, $args) {
$this->view = $file;
foreach($args as $key => $arg) {
$this->view->$key = 'awda'; // HERE is the issue.. isn't $this->view a string?
}
}
function __construct($file, $args) {
$this->view = $file;
foreach($args as $key => $arg) {
$this->$key = 'awda'; // assign $key as property of $this instead...
}
}