Стандартная рекомендация PHP
Стандартная рекомендация PHP ( PSR ) — это спецификация PHP , опубликованная PHP Framework Interop Group . Подобно запросу спецификации Java для Java , он служит стандартизации концепций программирования на PHP. Цель состоит в том, чтобы обеспечить функциональную совместимость компонентов и обеспечить общую техническую основу для реализации проверенных концепций оптимального программирования и тестирования. PHP-FIG сформирован несколькими основателями PHP-фреймворков. [ 1 ]
Каждый PSR предлагается членами и голосуется в соответствии с установленным протоколом, чтобы действовать последовательно и в соответствии с согласованными процессами. [ 2 ]
Число | Имя | Описание | Редактор | Координатор | Спонсор | Статус |
---|---|---|---|---|---|---|
ПСР-0 | Стандарт автозагрузки | В нем описаны обязательные требования, которые необходимо соблюдать для обеспечения совместимости автозагрузчиков. [ 3 ] | Н/Д | Н/Д | Н/Д | Устарело и заменено PSR-4. [ 4 ] |
ПСР-1 | Базовый стандарт кодирования | Он включает в себя то, что следует считать стандартными элементами кодирования, которые необходимы для обеспечения высокого уровня технической совместимости между общим PHP-кодом. [ 5 ] | Н/Д | Н/Д | Н/Д | Принял [ 4 ] |
ПСР-2 | Руководство по стилю кодирования | Он учитывает PSR-1 и предназначен для уменьшения когнитивных трений при сканировании кода разных авторов. Это делается путем перечисления общего набора правил и ожиданий относительно форматирования кода PHP. [ 6 ] | Н/Д | Н/Д | Н/Д | Устарело [ 7 ] [ 4 ] [ 8 ] |
ПСР-3 | Интерфейс регистратора | Он описывает общий интерфейс для журналирования библиотек. [ 9 ] | Хорди Богджано | Н/Д | Н/Д | Принял [ 4 ] |
ПСР-4 | Стандарт автозагрузки | Он описывает спецификацию автоматической загрузки классов из путей к файлам. Он полностью совместим и может использоваться в дополнение к любой другой спецификации автозагрузки, включая PSR-0. Этот PSR также описывает, где разместить файлы, которые будут автоматически загружаться в соответствии со спецификацией. [ 10 ] | Пол М. Джонс | Фил Стерджен | Ларри Гарфилд | Принял [ 4 ] |
ПСР-5 | Стандарт PHPDoc | Основная цель данного PSR — предоставить полное и формальное определение стандарта PHPDoc. Этот PSR отличается от своего предшественника, фактического стандарта PHPDoc, связанного с phpDocumentor 1.x, чтобы обеспечить поддержку новых функций языка PHP и устранить некоторые недостатки своего предшественника. [ 11 ] | Майк ван Риель | Фил Стерджен | Дональд Гилберт | Черновик [ 4 ] |
ПСР-6 | Интерфейс кэширования | Цель этого PSR — позволить разработчикам создавать библиотеки с поддержкой кэша, которые можно интегрировать в существующие платформы и системы без необходимости специальной разработки. [ 12 ] | Ларри Гарфилд | В Поле Драгуне | Роберт Хафнер | Принял [ 4 ] |
ПСР-7 | Интерфейс HTTP-сообщений | Он описывает общие интерфейсы для представления HTTP-сообщений, как описано в RFC 7230 и RFC 7231, а также URI для использования с HTTP-сообщениями, как описано в RFC 3986. [ 13 ] | Мэттью Вейер О'Финни | Бо Симонсен | Пол М. Джонс | Принял [ 4 ] |
ПСР-8 | Удобный интерфейс | Он устанавливает для объектов общий способ выразить взаимную признательность и поддержку посредством объятий. Это позволяет объектам конструктивно поддерживать друг друга, способствуя сотрудничеству между различными проектами PHP. [ 14 ] | Ларри Гарфилд | Кэл Эванс | Пол М. Джонс | Заброшенный [ 4 ] |
ПСР-9 | Раскрытие информации о безопасности | Это дает руководителям проектов четко определенный подход, позволяющий конечным пользователям обнаруживать раскрытия информации о безопасности, используя четко определенный структурированный формат для этих раскрытий. [ 15 ] | Лукас Кахве Смит | Корвин Санто | Ларри Гарфилд | Заброшенный [ 4 ] |
ПСР-10 | Рекомендации по безопасности | Он предоставляет исследователям, руководителям проектов, руководителям вышестоящих проектов и конечным пользователям определенный и структурированный процесс обнаружения уязвимостей безопасности. [ 16 ] | Лукас Кахве Смит | Ларри Гарфилд | Корвин Санто | Заброшенный [ 4 ] |
ПСР-11 | Контейнерный интерфейс | Он описывает общий интерфейс для внедрения зависимостей контейнеров . Цель состоит в том, чтобы стандартизировать то, как платформы и библиотеки используют контейнер для получения объектов и параметров (называемых записями в остальной части этого документа). [ 17 ] | Матье Наполи, Давид Негрие | Пол М. Джонс | Джереми Линдблом | Принял [ 4 ] |
ПСР-12 | Расширенное руководство по стилю кодирования | Он расширяет и заменяет PSR-2, руководство по стилю кодирования, и требует соблюдения PSR-1, основного стандарта кодирования. [ 18 ] | Майкл Каллум | Корвин Санто | Александр Макаров | Принял [ 4 ] |
ПСР-13 | Гипермедийные ссылки | Он описывает общие интерфейсы для представления гипермедийной ссылки. [ 19 ] | Ларри Гарфилд | Мэттью Вейер О'Финни | Марк Александр | Принял [ 4 ] |
ПСР-14 | Менеджер мероприятий | Он описывает общие интерфейсы для отправки и обработки событий. [ 20 ] | Ларри Гарфилд | Принял [ 4 ] | ||
ПСР-15 | Обработчики запросов HTTP-сервера | В нем описываются общие интерфейсы для обработчиков запросов HTTP-сервера и компонентов промежуточного программного обеспечения HTTP-сервера, использующих HTTP-сообщения. [ 21 ] | Вуди Гилк | Мэттью Вейер О'Финни | Принял [ 4 ] | |
ПСР-16 | Простой кэш | Он описывает простой, но расширяемый интерфейс для элемента кэша и драйвера кэша. [ 22 ] | В Поле Драгуне | Хорди Богджано | Фабьен Потенсье | Принял [ 4 ] |
ПСР-17 | HTTP-фабрики | Он описывает общий стандарт для фабрик, создающих HTTP-объекты, соответствующие PSR-7. [ 23 ] | Вуди Гилк | Мэттью Вейер О'Финни | Принял [ 4 ] | |
ПСР-18 | HTTP-клиент | Он описывает общий интерфейс для отправки HTTP-запросов и получения HTTP-ответов. [ 24 ] | Тобиас Нихолм | Сара Големон | Принял [ 4 ] | |
ПСР-19 | Теги PHPDoc | Он предоставляет полный каталог тегов в стандарте PHPDoc . [ 25 ] | Чак Берджесс | Черновик [ 4 ] | ||
ПСР-20 | Часы | Он обеспечивает стандартный способ доступа к часам, обеспечивая взаимодействие во время тестирования, при тестировании поведения, которое имеет побочные эффекты, основанные на времени. [ 26 ] | Крис Зойферт | Чак Берджесс | Принял [ 4 ] | |
ПСР-21 | Интернационализация | Будет определено позднее. [ 27 ] | Наварр Барнье | Черновик [ 4 ] | ||
ПСР-22 | Трассировка приложений | Будет определено позднее. [ 28 ] | Адам Олпорт | Черновик [ 4 ] |
На официальном сайте PHP-FIG имеется документация PSR, следующая за RFC 2119, написанная Скоттом Брэднером в марте 1997 года в Гарвардском университете .
Ссылки
[ редактировать ]- ^ «Список участников PHP-FIG» . Официальный сайт PHP-FIG. эй . Проверено 10 января 2016 г.
- ^ «Протокол голосования» . Группа взаимодействия PHP Framework . Проверено 10 января 2016 г.
- ^ «ПСР-0: Стандарт автозагрузки» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В «Список статусов PSR» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «PSR-1: Базовый стандарт кодирования» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «PSR-2: Руководство по стилю кодирования» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «Рекомендации по стандартам PHP — PHP-FIG» . www.php-fig.org . Проверено 14 февраля 2020 г.
- ^ «Рекомендации по стандартам PHP — PHP-FIG» . www.php-fig.org . Проверено 9 мая 2020 г.
- ^ «PSR-3: Интерфейс регистратора» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «ПСР-4: Стандарт автозагрузки» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «PSR-5: Стандарт PHPDoc» . Официальный git-репозиторий PHP Documentor на Github . Проверено 10 января 2016 г.
- ^ «PSR-6: Интерфейс кэширования» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «PSR-7: Интерфейс сообщений HTTP» . Официальный сайт PHP-FIG . Проверено 10 января 2016 г.
- ^ «PSR-8: Объёмный интерфейс» . Официальный git-репозиторий PHP-FIG на Github . Проверено 10 января 2016 г.
- ^ «PSR-9: Раскрытие информации о безопасности» . Официальный git-репозиторий PHP-FIG на Github . Проверено 10 января 2016 г.
- ^ «PSR-10: Рекомендации по безопасности» . Официальный git-репозиторий PHP-FIG на Github . Проверено 10 января 2016 г.
- ^ «PSR-11: Контейнерный интерфейс» . Официальный git-репозиторий PHP-FIG PSR-11 на Github . Проверено 10 января 2016 г.
- ^ «PSR-12: Руководство по расширенному стилю кодирования — PHP-FIG» . www.php-fig.org . Проверено 4 июня 2020 г.
- ^ «PSR-13: Интерфейсы определения ссылок — PHP-FIG» . www.php-fig.org . Проверено 4 февраля 2019 г.
- ^ «ПСР-14: Диспетчер событий» . Официальный git-репозиторий PHP-FIG на Github . Проверено 4 февраля 2019 г. .
- ^ «PSR-15: Обработчики запросов HTTP-сервера — PHP-FIG» . www.php-fig.org . Проверено 4 февраля 2019 г.
- ^ «PSR-16: Общий интерфейс для библиотек кэширования — PHP-FIG» . www.php-fig.org . Проверено 4 февраля 2019 г.
- ^ «PSR-17: Фабрики HTTP — PHP-FIG» . www.php-fig.org . Проверено 4 февраля 2019 г.
- ^ «PSR-18: HTTP-клиент — PHP-FIG» . www.php-fig.org . Проверено 4 февраля 2019 г.
- ^ «PSR-19: Теги PHPDoc» . Официальный git-репозиторий PHP-FIG на Github . Проверено 4 февраля 2019 г. .
- ^ «PSR-20: Часы — PHP-FIG» . www.php-fig.org . Проверено 14 января 2024 г.
- ^ «PSR-21: Интернационализация» . Официальный git-репозиторий PHP-FIG на Github . Проверено 14 января 2024 г.
- ^ «PSR-22: Отслеживание приложений» . Официальный git-репозиторий PHP-FIG на Github . Проверено 14 января 2024 г.