Composer - Autoload и PSR-0 против PSR-4
-
21-12-2019 - |
Вопрос
Я начинаю изучать композитор и разрабатываю систему, где разделяю файлы файлов приложений, следующим образом:
/root |-- /src |-- /App |-- /DBConfig |-- /Controller |-- /Model |-- /Core |-- /Helper |-- /Controller |-- /Model.
Итак, чтобы установить этот параметр в файле Composer.json и получить доступ ко всем классам как
"autoload" : { "psr-X" : { "App\\" : "/src", "Core\\" : "/src" } }.
или есть ли более правильный путь?
Я также прочитал о PSR-0 против PSR-4 , и я все еще несколько сомневаюсь, какой пользоваться.В моем случае, что я должен реализовать, PSR-0 или PSR-4 ?
Решение
Вам не нужно 2 записей только один для основного пространства имен настолько что-то вроде этого для PSR-4:
"autoload" : {
"psr-4" : {
"MyApp\\" : "/src" }
}
.
Пока все в SRC / использует одно и то же пространство имен, которое вам нужно.Просто позвольте автозагрузчику сделать работу.
К чему пользуюсь, я бы пошел с PSR-4, потому что в какой-то момент ожидается, что PSR-0 будет устареть, и поскольку PSR-4 сделан, чтобы быть обратно совместимым, минус Некоторые бородавки для более старых устаревших программЭто действительно разница, за исключением того, что вы начинаете использовать некоторые из них более новые функции