再会。
假设有一个变量$className = "Test"。您需要使用命名空间创建类的实例。
$classObject = new liw\controllers\$className;
会报错:
语法错误,意外的“$className”(T_VARIABLE)
如何摆脱这个问题?
如果你这样做,那么一切都会奏效,但这是对的吗?
$className = "Test";
$className = "liw\\controllers\\{$className}";
$classObject = new $className();
是的,一切都是正确的。类名字符串必须包含完整的命名空间。
引用
3v4l演示