Задать вопрос
@Hfnas

Как добавить переменную к классу сlass N extends $n?

Как добавить переменную к классу?
$n="MyRR";
class N extends $n{}

пишет ошибку:
syntax error, unexpected '{', expecting identifier (T_STRING) or namespace (T_NAMESPACE) or \\ (T_NS_SEPARATOR) (0)
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
TommyV888
@TommyV888 Куратор тега PHP
-
Единственный способ это сделать, использовать eval:
<?php
class A{}
$class_name = 'A';

$code = <<<CODE
class B extends $class_name{}
CODE;
eval($code);

if(new B() instanceof A){
    echo 'Ok';
}

Но решение это не очень, и я бы советовал вам посмотреть в сторону структурных шаблонов проектирования, таких как адаптер и декоратор
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
Никак, иерархия классов строится до этапа исполнения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы