2

我正在创建一个模型视图控制器框架,我对此有点陌生。我想将变量从控制器传递到视图。我的 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. 

如果我从控制器做类似

 $this->view->hello = 'hello world' 

我做回声

 $this->hello 

鉴于它工作正常,但我希望能够传入多个变量。有谁知道这样做的更好方法?谢谢你

4

1 回答 1

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...
     }
}
于 2012-09-03T19:26:18.143 回答