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

Как загрузить классы в одной папке commands(Service Locator) без использования кучи use?

Проблема:
Есть папка commands
Там лежат классы команд и есть веб хук.
Там есть switch, указывающий какую команду выполнять.

Вот так можно было бы получить обьект класса.
Однако в проекте имеется autoloader composer, возникают конфликты если искать комады через свой автозагрузчик.
$classname=$var.'Class';
   $bar=new $classname("xyz");


Почему не фабрика:
Есть папка commands и там есть команды и по логике вещей я хочу чтобы после создания нового класса он был доступен или хотябы загрузить его в сервис локаторобразец локатора(все имеющиеся классы команд)

А в фабрике нужно перечислять классы ручками, это грязно не DRY.
Ведь менять нужно в 2х местах и класс делать и метод фабрики под него.
А у меня плохая память.

Решение:
Пока пробую написать avtoloader, который не конфликтует с composer.
Если кто-то знает как реализовать это иначе, буду рад.
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Почему не используете автозагрузку композера для своих классов?

https://getcomposer.org/doc/01-basic-usage.md#auto...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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