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 に答える