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