我刚刚遇到以下问题。我正在尝试构建一个类,但它不起作用。当我构建它使用命名空间和变量的类时,因为变量必须放在反斜杠后面(对于命名空间),它会给出错误。这是定义类的示例代码;
$className = 'Help';
$controller = new \controller\$className;
类名是在一个变量中定义的,在上面的示例代码中,我刚刚将其设置为“Help”。在构造它\controller\
前面的类时,这是因为它在那个命名空间中。如果我删除命名空间的东西,那么它就有了;
$controller = new $className;
它确实有效。问题可能是因为包含要构造的类名的变量前面有一个反斜杠。我无法use controller;
在代码的开头添加,因为包含该类的文件是在构造函数中加载的,并且在加载文件后立即构造该类。我认为该use
函数只能在文件的开头使用,不能在方法内部使用。
我希望有人可以帮助我,。
在此先感谢蒂姆·维塞