php模拟类名
我正在PHP中实现类似对象工厂的东西。 我有: 这样,我得到一个对象,它的类名是ObjectParent;我没有为我要创建的每个ObjectChild创建一个类,因此我希望能够做到:php模拟类名,php,oop,Php,Oop,我正在PHP中实现类似对象工厂的东西。 我有: 这样,我得到一个对象,它的类名是ObjectParent;我没有为我要创建的每个ObjectChild创建一个类,因此我希望能够做到: $newObject = Factory::createObject('myObjectType'); echo get_class($newObject); //result -> 'myObjectType' 这可能吗?怎样? 谢谢但是我没有类$objectType$objectType是工厂方法的参数
$newObject = Factory::createObject('myObjectType');
echo get_class($newObject);
//result -> 'myObjectType'
这可能吗?怎样?
谢谢但是我没有类$objectType
$objectType
是工厂方法的参数。试试看:)啊,我明白了。在这种情况下,您需要使用eval()
-eval('class'.$objectType.'extensed ObjectParent{}')
,但我建议重新检查这个问题,因为eval()
是邪恶的,我不认为您真的不能手动指定所有子类是的,这正是我想要的。请你修改一下你的答案好让我接受吗?Thanx但是我没有类$objectType$objectType
是工厂方法的参数。试试看:)啊,我明白了。在这种情况下,您需要使用eval()
-eval('class'.$objectType.'extensed ObjectParent{}')
,但我建议重新检查这个问题,因为eval()
是邪恶的,我不认为您真的不能手动指定所有子类是的,这正是我想要的。请你修改一下你的答案好让我接受吗?塔克斯
$newObject = Factory::createObject('myObjectType');
echo get_class($newObject);
//result -> 'myObjectType'
public static function createObject($objectType){
eval('class '.$objectType.' extends ObjectParent {}');
return new $objectType();
}