PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.
Зачем нужен PSR
- Делает код единообразным.
- Упрощает совместную работу над проектом или изменение чужого продукта.
- Поддерживает совместимость между программными продуктами на PHP.
- Повышает прозрачность разработки и тестирования, надежность и безопасность продуктов.
Обязательно ли осваивать PSR
В сокращении PSR есть слово «стандарт», но пока это список рекомендаций. Соблюдать их или нет — решение разработчика. Он может писать код, используя свой стиль и технические решения. В то же время в среде профессиональных программистов знание и соблюдение PSR — негласное правило. Особенно если речь идет о совместной работе над крупными проектами. Это требование предъявляется как к соискателям, так и к уже работающим сотрудникам.
Виды стандартов PSR
Стандарты PSR поделены на части. Каждый содержит информацию о том, как нужно выполнять задачи. Например, ставить переносы строк, называть переменные, реализовывать автозагрузку. За каждую часть отвечает свой стандарт. Каждый начинается с аббревиатуры PSR, после которой идет номер. Например, PSR-1 или PSR-4.
Автозагрузка классов
Решает проблему импорта описаний объектов.
- PSR-0. Самый первый стандарт, принятый в 2010 году. Упростил присвоение имен файлам, упорядочил и привел в единый вид структуру каталогов. Сейчас считается устаревшим.
- PSR-4. Пришел на смену PSR-0 в 2013 году. Может использоваться как его полная замена или дополнение. Благодаря PSR-4 части и компоненты одного фреймворка или библиотеки можно использовать в других проектах. Сегодня этот стандарт используется по умолчанию в Composer — пакетном менеджере уровня приложений для PHP.
Стили кодирования
Упрощают понимание кода, написанного другими авторами, ускоряют разработку совместных проектов, доработку и поддержку чужих продуктов.
- PSR-1. Основной стандарт кодирования. В нем указаны правила использования тегов PHP, кодировки файлов, разделения мест объявления класса, функции и их использования и пр.
- PSR-2. Руководство по стилю программирования, которое дополняет и объясняет стандарт PSR-1. В настоящее время считается устаревшим.
- PSR-12. Дополнение к PSR-1. Перечисляет правила и требования к форматированию кода PHP.
Интерфейсы
Регулируют и унифицируют выполнение однотипных функций.
- PSR-3. Стандартизирует и упрощает протоколирование — запись лог-файлов с данными о всех событиях.
- PSR-6/16. Позволяет стандартно сохранять и извлекать данные из кэша с помощью унифицированного интерфейса.
- PSR-11. Стандартизирует управление зависимостями кода, которые появляются при использовании сторонних компонентов.
- PSR-13. Облегчает разработку и использование прикладных программных интерфейсов (API).
- PSR-14. Помогает свободно использовать библиотеки и компоненты в различных приложениях и средах.
HTTP
Упрощает разработку веб-приложений, обеспечивает их взаимодействие с сервером и клиентом.
- PSR-7. Набор интерфейсов для фреймворков, позволяющих программистам писать повторно используемый код.
- PSR-15. Стандартизирует обработку HTTP-запросов, задает правила для компонентов промежуточного ПО HTTP-сервера.
- PSR-17. Определяет работу для фабрик (шаблонов проектирования), на которых создаются HTTP-объекты, совместимые с PSR-7.
- PSR-18. Унифицирует отправку HTTP-запросов и получение HTTP-ответов, делает библиотеки удобнее для повторного использования, уменьшая число зависимостей и конфликтов версий.
Как разрабатывается PSR
PSR появился в 2010 году. Его разработала PHP Framework Interop Group (PHP-FIG) — независимая экспертная группа программистов, авторов фреймворков ReactPHP, Composer, Laminas, Joomla, Magento и т.д. При создании они вдохновлялись Java Community Process, регламентирующим программирование на Java. Разработка каждого стандарта происходит в несколько этапов:
- один или несколько авторов создают предварительный проект стандарта, финансируемый спонсором;
- координатор организует проверку другими участниками PHP-FIG и голосование по его статусу;
- если в предложенном проекте были обнаружены серьезные ошибки, он отправляется на доработку, если нет — принимается остальными участниками PHP-FIG.
В зависимости от стадии разработки проекту присваиваются статусы:
- Draft — черновой вариант, еще не прошедший проверку или отправленный на доработку;
- Accepted — вариант, успешно прошедший проверку и принятый на голосовании как официальный стандарт;
- Abandoned — проект, разработка которого временно или полностью прекращена;
- Deprecated — ранее принятый стандарт, который устарел и был заменен более совершенной версией.
Процесс разработки и принятия новых PSR-рекомендаций можно отслеживать на официальном сайте PHP-FIG. Там же есть информация об авторах, координаторах и спонсорах.
Сейчас наиболее востребованы стандарты PSR, связанные со стилями написания кода и автозагрузкой классов. Рекомендации, отвечающие за выполнение более специфических задач, применяются реже. Тем не менее знание стандартов PSR — конкурентное преимущество в веб-программировании.
0 комментариев