0

我需要创建一个名为“Statistics1”的类的新对象 - 我在变量中得到的“1”,所以我需要这样的东西:

$table = new Statistics${$mode};

它不起作用。对于变量中的变量,我使用:

$var = ${"text" . $second_var};

但这一次它不是一个变量。

4

2 回答 2

3

我更喜欢反射,因为它更容易捕获异常:

$reflector = new ReflectionClass('Statistics'.$mode);
$table = $reflector->newInstance($arg1, $arg2);
于 2013-07-10T01:28:18.463 回答
3

自 PHP5.3 起,类名可以是一个变量

更改:现在可以使用变量引用类(例如,echo $classname::constant;)。变量的值不能是关键字(例如,self、parent 或 static)。

所以示例代码可能看起来像这样。

class foo1
    {}

$one = 1;
$class_name = 'foo' . $one;
$bar = new $class_name;
var_dump($bar);
于 2013-07-10T01:32:26.520 回答