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

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

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

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


person monkeyUser    schedule 20.02.2016    source источник


Ответы (2)


Вы можете рассматривать PSR как один огромный стандарт кодирования. Они зависят друг от друга, но каждый PSR сам по себе. PSR-2 описывает Руководство по стилю кодирования, а PSR-4 описывает стандарт для Автозагрузки.

Вот веб-сайт с рекомендациями стандартов PHP. Вы можете найти там полный список всех существующих PSR.

PSR означает РЕКОМЕНДАЦИЯ СТАНДАРТА PHP, поэтому это всего лишь рекомендация о том, как обрабатывать/форматировать определенную часть php-приложения. Индекс — это просто идентификатор для определения того, для чего подходит psr. Не поймите это как номер версии. PSR-0 и PSR-4 охватывают работу с автозагрузчиком.

person Roman    schedule 20.02.2016
comment
спасибо roman, чем мне слить разные версии? PSR-0 действителен как PSR-4, даже если версия равна нулю? - person monkeyUser; 20.02.2016
comment
Взгляните на ссылку, которую я вставил в свой ответ. Там вы увидите, что PSR-0 — это DEPRECATED. - person Roman; 20.02.2016
comment
PSR-0 устарел, но Symfony 3 использует этот PSR? Номер после PSR в версии что ли? Например Чехол PSR-0 ТОЛЬКО Автозагрузка? Все принятые PSR находятся под числовым индексом (php-fig.org/psr/#numerical -индекс) ? Спасибо еще раз - person monkeyUser; 20.02.2016
comment
PSR означает РЕКОМЕНДАЦИЯ СТАНДАРТА PHP, поэтому это всего лишь рекомендация о том, как обрабатывать/форматировать определенную часть php-приложения. Индекс — это просто идентификатор для определения того, для чего подходит psr. Не поймите это как номер версии. PSR-0 и PSR-4 охватывают обработку Autoloader. - person Roman; 20.02.2016
comment
Что означает число после PSR? версия ? Я не понимаю логики часть -2 часть 4 - person monkeyUser; 20.02.2016
comment
Это всего лишь цифра. ;-) - person Roman; 20.02.2016

Стандартная рекомендация PHP посвящена тому, как вы должны писать свой код, чтобы его было легко читать и использовать другим. Он охватывает такие темы, как стиль кодирования, организация файлов, автозагрузка и стандартизирует различные интерфейсы. PSR был разработан группой Framework Interoperability Group (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 в качестве примера.)

person Alexander van Oostenrijk    schedule 14.09.2016