我正在尝试创建一个工厂设计模式,它将生成具有动态类名的类。
我的代码:
namespace FOO;
class MyFactory {
public static function create($name) {
return new \FOO\$name;
}
}
我收到解析语法错误(如netbeans所示)。那是可能还是好的做法? 感谢
编辑: 解析错误:“预期标识符之后的意外变量名称”
答案 0 :(得分:1)
要使用变量名实例化类,需要将整个名称(包括名称空间)放入变量中:
$name = "Foo\\$name"; // note: no leading backslash
return new $name;