PSR

PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.

Зачем нужен PSR

  • Делает код единообразным.
  • Упрощает совместную работу над проектом или изменение чужого продукта.
  • Поддерживает совместимость между программными продуктами на PHP.
  • Повышает прозрачность разработки и тестирования, надежность и безопасность продуктов.

Обязательно ли  осваивать PSR

В сокращении PSR есть слово «стандарт», но пока это список рекомендаций. Соблюдать их или нет — решение разработчика. Он может писать код, используя свой стиль и технические решения. В то же время в среде профессиональных программистов знание и соблюдение PSR — негласное правило. Особенно если речь идет о совместной работе над крупными проектами. Это требование  предъявляется как к соискателям, так и к уже работающим сотрудникам. 

Профессия

Веб-разработчик с нуля

Освойте веб-разработку за 12 месяце и делайте сайты и приложения любой сложности.

Узнать подробности

Виды стандартов 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 — конкурентное преимущество в веб-программировании. 

Профессия

Веб-разработчик с нуля

За 12 месяцев вы освоите базовую верстку, frontend и backend. В конце обучения у вас будет готовое портфолио из проектов.

  • тренажеры по HTML, CSS, JavaScript, PHP, SQL, React;
  • выбор направления: frontend, backend или fullstack;
  • консультации в Центре карьеры.

Узнать больше

 

Другие термины на букву «P»

Pandas
PHP
PostgreSQL
Postman
Pytest

Все термины

Курсы по теме

(рейтинг: 5, голосов: 2)
Добавить комментарий