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

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

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

Явно я что-то делаю не так. Подскажите, кто знает.
  • Вопрос задан
  • 995 просмотров
Пригласить эксперта
Ответы на вопрос 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();

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

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

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