Композитор - Автоматическая загрузка и 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?

Author: LeoFelipe, 2014-06-04

1 answers

Вам не нужно было 2 записи, только одна для основного пространства имен, поэтому что-то вроде этого для PSR-4:

    "autoload" : {
        "psr-4" : {
            "MyApp\\" : "/src"            }
    }

Пока все в src/использует одно и то же пространство имен, это все, что вам нужно. Просто позвольте автозагрузчику выполнять свою работу.

Что касается того, что использовать, я бы выбрал PSR-4, потому что в какой-то момент ожидается, что PSR-0 устареет, и поскольку PSR-4 сделан обратно совместимым, за вычетом некоторых бородавок для старых устаревших программ, на самом деле нет разницы, кроме того, что вы начинаете используя некоторые из его новых функций

 5
Author: Dragonaire, 2014-06-04 20:37:39