使用类名创建类

时间:2011-09-10 04:52:27

标签: java php oop class variables

我正试图想办法在PHP中创建一个只有类名的类。

E.g:

$class = "MyClass";

if(class_exists($class))
$unit = new $class($param1, $param2);
else
$unit = new Unit($param1, $param2);

有没有办法在PHP中执行此操作?如果可能的话,我也想知道这是否可以用Java。

干杯!提前谢谢。

3 个答案:

答案 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);