我在PHP中使用命名空间,并尝试动态加载类。我目前的结构如下:
namespace DemoWPFApp1.ViewModels
{
public class MainWindowViewModel : BaseViewModel
{
private string m_boundProperty;
public string BoundProperty
{
get
{
return m_boundProperty;
}
set
{
m_boundProperty = value; OnPropertyChanged();
}
}
public MainWindowViewModel()
{
BoundProperty = "Some value.";
}
}
}
我得到的错误是:
解析错误:语法错误,意外'$ this'(T_VARIABLE),期待标识符(T_STRING)
如何制作它以便我可以使用此引导函数加载类?
答案 0 :(得分:0)
以下一行:
$this->controller = new Controllers\$this->controller;
是无效的PHP代码。
如果需要使用动态类名实例化类,请使用中间变量:
$className = 'Controllers\\' . $this->controller;
$this->controller = new $className();
答案 1 :(得分:0)
这应该有效:
$controller = 'Controllers\'.$this->controller;
$this->controller = new $controller();