私は小さな MVC システム (学習) を構築していますが、ビュー ファイルに変数を表示する際に問題があります。
これは私のViewクラスからのものです:
private $vars = array();
public function __set($key, $value)
{
$this->vars[$key] = $value;
}
public function __get($key)
{
return $this->vars[$key];
}
public function __toString()
{
return $this->vars[$key];
}
public function show($file)
{
global $router;
$folder = strtolower($router->current_controller);
$path = VIEWPATH.$folder.'/'.$file.'.phtml';
if ( ! file_exists($path))
{
die("Template: $file, not found");
}
include ($path);
}
そして、ここに私のコントローラーからのものがあります:
$test = new View();
$test->name = 'karl';
$test->show('name_view');
ビューファイル (name_view)
echo $name // doesn't work
echo $this->name // Works
私は何を間違っていますか?おそらく私は何かをグローバルにする必要がありますか?
THX / トバイアス
編集: ビュー ファイルをインクルードする直前に、ビュー クラスの vars 配列を抽出したところ、うまくいきました。