Может быть, я не понимаю полностью.
Я читал, что PSR является стандартной рекомендацией PHP, но есть несколько версий PSR,
Например автопогрузчик используйте вместо этого PSR-4 Базовый стандарт кодирования использовать PSR-1
Я должен следовать определенной версии PSR или я должен объединить их хорошие части?
Symfony следует стандартам, определенным в документах PSR-0, PSR-1, PSR-2 и PSR-4. Тогда каждая структура использует разные PSR?
Вы можете видеть PSR как один огромный стандарт кодирования. Они зависят друг от друга, но каждый PSR сам по себе. PSR-2 описывает Руководство по стилю кодирования в то время как PSR-4 описывает стандарт для Автозагрузка.
Вот сайт о Рекомендации по стандартам PHP. Вы можете найти там полный список всех существующих PSR.
PSR означает стандартную рекомендацию PHP — так что это всего лишь рекомендация о том, как обрабатывать / форматировать определенную часть php-приложения. Индекс — это просто идентификатор, чтобы определить, для чего хорош psr. Не понимаю это как номер версии. PSR-0 и PSR-4 охватывают обработку автозагрузчика.
Стандартная рекомендация PHP о том, как вы должны написать свой код, чтобы его могли легко прочитать и использовать другие. Он охватывает такие темы, как стиль кодирования, организация файлов, автозагрузка и стандартизирует различные интерфейсы. PSR была разработана Группой по обеспечению совместимости фреймворков (FIG), которая появилась на конференции php | tek 2009. В его состав входят авторы различных известных фреймворков PHP. PSR никоим образом не является «официальным»; просто в Framework Interoperability Group (FIG) есть замечательная группа опытных разработчиков PHP, которые голосуют за лучший стиль кодирования. Таким образом, вы можете соблюдать все или часть PSR, или ни один из них. Это зависит от вас, но некоторые проекты, в которые вы хотите внести свой вклад, могут потребовать, чтобы вы выполняли некоторые из PSR, просто чтобы все были на одной странице. Нет ничего плохого в том, чтобы иметь стандарт там, где его еще не было.
Так кто член? Сейчас в нем более 20 участников (из 5, когда они начинали), и в их число входят авторы CakePHP, Composer, Zend, Lithium, SugarCRM и Symphony. Люди, которые были вокруг блока PHP, так сказать.
Что касается самих стандартов PSR, их около 17, но только 7 из них были приняты всеми членами. За остальных все еще голосуют или они имеют статус проекта [по состоянию на сентябрь 2016 года].
(Я написал Эта статья который подробно рассматривает PSR-1 в качестве примера.)