class SomeClass(object): pass
s = SomeClass
someClassInstance = s()
你怎么能在PHP中实现同样的效果?据我所知,你不能这样做?这是真的吗?
答案 0 :(得分:7)
您可以创建动态类名的实例;只需将类的名称作为字符串传递:
class SomeClass {}
$s = 'SomeClass';
$someClassInstance = new $s();
答案 1 :(得分:1)
使用反射:
class SomeClass {}
$s = new ReflectionClass('SomeClass');
$someClassInstance = $s->newInstance();
使用反射的好处是它会在类不存在的情况下抛出一个可捕获的异常。