Composer - Autoload e PSR-0 vs PSR-4
-
21-12-2019 - |
Domanda
Sto iniziando a studiare compositore e sto sviluppando un sistema in cui separiamo i file dei file di applicazione Core Files, come segue:
/root |-- /src |-- /App |-- /DBConfig |-- /Controller |-- /Model |-- /Core |-- /Helper |-- /Controller |-- /Model.
Quindi, per impostare questa impostazione in file compositore.json e ottenere l'accesso a tutte le classi sia / app molto / core sarebbe in questo modo?
"autoload" : { "psr-X" : { "App\\" : "/src", "Core\\" : "/src" } }.
o c'è un modo più corretto?
Ho anche letto di PSR-0 vs PSR-4 e sono ancora in qualche modo in dubbio quale da usare.Nel mio caso, cosa dovrei implementare, PSR-0 o PSR-4 ?
Soluzione
Non hai bisogno di 2 voci solo uno per lo spazio dei nomi principale quindi qualcosa del genere per PSR-4:
"autoload" : {
"psr-4" : {
"MyApp\\" : "/src" }
}
.
Finché tutto è in SRC / utilizza lo stesso spazio dei nomi che è tutto ciò di cui hai bisogno.Lascia che il caricatore automatico sia un lavoro.
A proposito di usare andrei con PSR-4 perché ad un certo punto è previsto che PSR-0 sarà deprecato e poiché PSR-4 è fatto per essere retrocompatibile compatibile meno alcune verruche per i programmi di legacy più anziani che non c'è"T veramente una differenza se non di iniziare a utilizzare alcune delle sue nuove funzionalità