Задать вопрос
@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
Никак, иерархия классов строится до этапа исполнения
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽