是否可以使用变量而不是名称来创建类?
而不是:
class weirdclassname extends WP_widget { .... }
我想:
class $nameVariable extends WP_widget { .... }
我需要它,因为我创建了多个类,并且必须创建许多不同的唯一名称以防止冲突。我的想象已经哭了= |
答案 0 :(得分:1)
您可以使用函数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);