是否可以使用变量而不是其名称来创建类?
而不是:
class weirdclassname extends WP_widget { .... }
我想:
class $nameVariable extends WP_widget { .... }
我需要它,因为我创建了多个类,并且必须发明许多不同的唯一名称来防止冲突。我的想象力已经在哭了=|
您可以使用函数 eval 动态定义类 https://implode.io/uP0WXH
class Foo
{
}
$child = <<<CLASS
class %s extends Foo
{
public $name = '%s';
}
CLASS;
$classNames = ['Class1', 'Class2', 'Class3'];
foreach ($classNames as $className) {
eval(sprintf($child, $className, $className));
}
print_r(new Class1);
print_r(new Class2);
print_r(new Class3);