如何从字符串声明类?
$name = 'the_class';
require_once $name.'.php';
$class = new \resource\$name();
Parse error: syntax error, unexpected '$name' (T_VARIABLE), expecting identifier (T_STRING)
答案 0 :(得分:6)
您需要dynamically construct the namespace path:
$classPath = '\\resource\\' . $name;
$class = new $classPath;
注意:我喜欢明确literal backslashes。
答案 1 :(得分:4)
命名空间必须是字符串的一部分:
$name = 'the_class';
require_once $name . '.php';
$className = '\resource\\' . $name;
$class = new $className();