我正在构建一个小的 MVC 系统(学习),并且在我的视图文件中显示变量时遇到了一些问题。
这是来自我的视图类:
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 数组,然后它就起作用了。谢谢您的所有帮助。