Какая версия PSR действительна?

Может быть, я не понимаю полностью. Я читал, что PSR - это стандартная рекомендация PHP, но есть несколько версий PSR. Например, в автозагрузчике используется PSR-4, вместо базового стандарта кодирования используется PSR-1.

Я должен следовать определенной версии PSR или я должен объединить их хорошие части?

Symfony следует стандартам, определенным в документах PSR-0, PSR-1, PSR-2 и PSR-4. Тогда каждая структура использует разные PSR?

2 ответа

Решение

Вы можете видеть 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.)

Другие вопросы по тегам