& quot; Новый класс расширяется & quot; с именем из переменной

Можно ли создать класс, используя переменную вместо ее имени?

Вместо:

class weirdclassname extends WP_widget { .... }

Я бы хотел:

class $nameVariable extends WP_widget { .... }

Мне это нужно, потому что я создаю несколько классов и должен придумывать много разных уникальных имен для предотвращения конфликтов. Мое воображение уже плачет = |

0

Решение

Вы можете использовать функцию 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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector