Php 从变量创建实例
我想这样做:Php 从变量创建实例,php,oop,Php,Oop,我想这样做: private static function parserLib() { return USE_XML ? 'XmlParser' : 'IdfParser'; } static function create($arr = []) { return new ${self::parserLib()}($arr); } 我试过这个: new ${'XmlParser'}($test); 不要工作 这项工作: $var = 'XmlParser'; new
private static function parserLib() {
return USE_XML ? 'XmlParser' : 'IdfParser';
}
static function create($arr = []) {
return new ${self::parserLib()}($arr);
}
我试过这个:
new ${'XmlParser'}($test);
不要工作
这项工作:
$var = 'XmlParser';
new $var($test);
为什么不能使用{}
来使用从方法检索到的值
$var = 'XmlParser';
new $var($test);
您定义变量$var,并将其值用于实例类
new ${'XmlParser'}($test);
${'XmlParser'}表示获取变量XmlParser的值,但您没有这样的变量
您尝试获取未定义变量的值,结果得到这样的错误“PHP注意:未定义变量:XmlParser”
如果您定义变量XmlParser,它将起作用
class XmlParser {}
$XmlParser = 'XmlParser';
new ${'XmlParser'}($test);
另外,请阅读有关php的内容