Size: a a a

2020 May 03

V

Vadim in Laravel Pro
Evgeniy Kuvshinov
он может лежать вне autoload
просто как пример в проекте, в документации или тестах
По-твоему, чтобы затегать интерфейс, контейнер будет подгружать весь проект?) Самому не смешно?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
Vadim
По-твоему, чтобы затегать интерфейс, контейнер будет подгружать весь проект?) Самому не смешно?
а как по твоему это сделать другими путями?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
я написал 2 возможных способа
1. подгрузка и выполнение всех файлов
2. php parser файлов строящий ast
источник

V

Vadim in Laravel Pro
Evgeniy Kuvshinov
а как по твоему это сделать другими путями?
Грузить из папки проекта (app, src), рефлексия.
источник

EK

Evgeniy Kuvshinov in Laravel Pro
Vadim
Грузить из папки проекта (app, src), рефлексия.
чтобы по рефлексии грузить файлы
источник

EK

Evgeniy Kuvshinov in Laravel Pro
надо знать классы
источник

EK

Evgeniy Kuvshinov in Laravel Pro
чтобы пхп узнал классы
источник

EK

Evgeniy Kuvshinov in Laravel Pro
их надо объявить
источник

EK

Evgeniy Kuvshinov in Laravel Pro
чтобы тэги работали и в зависимостях (вендорах) и они должны подгружаться
источник

V

Vadim in Laravel Pro
Evgeniy Kuvshinov
их надо объявить
Да где объявить-то?
источник

EK

Evgeniy Kuvshinov in Laravel Pro
попробуй получи список классов проекта
источник

EK

Evgeniy Kuvshinov in Laravel Pro
источник

EK

Evgeniy Kuvshinov in Laravel Pro
но там как раз и написано что она возвращает только объявленные классы
источник

V

Vadim in Laravel Pro
Нет
источник

EK

Evgeniy Kuvshinov in Laravel Pro
а как тогда подгрузить список всех классов проекта, кроме тех 2 способов что я написал?
источник

i

invariance in Laravel Pro
Я нифига не понимаю) Симфони просто берет класс-мап, который автолодером генерится. Берет прописанные в конфиге директории. И только оттуда получает инстансы интерфейса. А не весь проект фетчит
источник

i

invariance in Laravel Pro
Симфа не получает все реализации интерфейса по ВСЕМУ проекту
источник

i

invariance in Laravel Pro
только в определенных в конфиге директориях
источник

EK

Evgeniy Kuvshinov in Laravel Pro
invariance
Я нифига не понимаю) Симфони просто берет класс-мап, который автолодером генерится. Берет прописанные в конфиге директории. И только оттуда получает инстансы интерфейса. А не весь проект фетчит
классмап в composer генерится если composer dumpautoload -a или -o
для psr4 автозагрузки
источник

EK

Evgeniy Kuvshinov in Laravel Pro
без этого в классмап ничего не падает
источник