Stasgar
@Stasgar
Обученная макака

Namespac'ы и создание объекта класса из строки с его названеим?

В общем у меня есть набор классов с названиями ServiceXX, где XX - изменяющаяся строка.
Я использую Yii2, namespace класса прописываю через use.

namespace app\modules\tracking\classes;
use app\modules\tracking\classes\ServiceFI;
***
$serviceName = 'ServiceFI';
$service = new $serviceName;

Выходит ошибка "Class 'ServiceFI' not found".

Соответственно если использовать запись:
$serviceName = 'app\modules\tracking\classes\ServiceFI';
$service = new $serviceName;

То объект создается корректно.

Возможно каким-нибудь образом заставить искать по предоставленному неймспейсу?
  • Вопрос задан
  • 225 просмотров
Решения вопроса 1
@McBernar
$serviceName = 'ServiceFI';
$model = 'app\\modules\\tracking\\classes\\' . $serviceName;
$service = new $model;
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
На autoload кидать файлы не пробовали?
Ответ написан
GreyCrew
@GreyCrew
Full-stack developer
Хабр вам в помощь
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы