我正试图想办法在PHP中创建一个只有类名的类。
E.g:
$class = "MyClass";
if(class_exists($class))
$unit = new $class($param1, $param2);
else
$unit = new Unit($param1, $param2);
有没有办法在PHP中执行此操作?如果可能的话,我也想知道这是否可以用Java。
干杯!提前谢谢。
答案 0 :(得分:1)
我不了解PHP(多年来没有使用它),但在Java中你可以这样做:
MyClass obj = (MyClass) Class.forName("MyClass").newInstance( );
答案 1 :(得分:0)
你可以在PHP中使用双$符号来生成变量。变量。
即
$$class($param1,$param2);
我没有在Java中遇到过这样的功能。
注意:你可能不想把你的班级称为“班级”,因为它是一个保留字;)
答案 2 :(得分:0)
是的,它应该在PHP中正常工作。我会这样写,以避免将所有参数复制到构造函数(当然,如果它们是相同的):
$class = 'MyClass';
if (! class_exists($class)) {
$class = 'Unit';
}
$unit = new $class($param1, $param2);