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

Как создать объекта в Yii2 по имени в переменной?

Раньше в Yii1 можно было создавать модели так:
$modelName = 'MyModel';
new $modelName;

В Yii2 такое не проходит, поскольку введены namespace.
В контроллере я написал:
use frontend\models\MyModel;
однако
new $modelName;
все равно эту модель найти не может.

Явно я что-то делаю не так. Подскажите, кто знает.
  • Вопрос задан
  • 998 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
iiifx
@iiifx
PHP, OOP, SOLID, Yii2, Composer, PHPStorm
Тут Yii2 совсем не при делах. Это работа с неймспейсами, которую вам нужно изучить.

$string = '\\read\\the\\docs\\Php';
$obj1 = new  $string;

$result = $string::someMethod();
Ответ написан
Комментировать
alexdevid
@alexdevid
web-developer
так же только с неймспейсом

$modelName = '\frontend\models\MyModel';
new $modelName;
Ответ написан
Lumore
@Lumore
Front-end developer
use frontend\models\MyModel;
$modelName = new MyModel();

вроде так.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
от 120 000 до 160 000 ₽
Сбер Санкт-Петербург
от 80 000 до 150 000 ₽
WiseTech Томск
от 300 000 ₽
13 янв. 2025, в 02:41
4000 руб./за проект
13 янв. 2025, в 02:28
2000 руб./за проект
13 янв. 2025, в 01:56
300 руб./за проект