"新课程延伸"名称来自变量

时间:2018-03-07 00:52:07

标签: php class variables extends

是否可以使用变量而不是名称来创建类?

而不是:

class weirdclassname extends WP_widget { .... }

我想:

class $nameVariable extends WP_widget { .... }

我需要它,因为我创建了多个类,并且必须创建许多不同的唯一名称以防止冲突。我的想象已经哭了= |

1 个答案:

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