Рубрики
Uncategorized

Краткое описание общих спецификаций серии PSR

Автор оригинала: David Wong.

Основные нормы

  • Файлы PHP-кода должны начинаться с PHP или; PHP или;
  • Файлы кода PHP должны быть закодированы в UTF-8 без спецификации.
  • Именование классов должно соответствовать спецификации именования горба в начале заглавной буквы StudlyCaps.
  • Константы в классе должны быть написаны с заглавной буквы, с подчеркиванием, разделяющим слова.
  • Имя метода должно соответствовать спецификации именования горба в нижнем регистре camelCase.

Спецификация автоматической загрузки PSr-0

  • Пространства имен и подчеркивания в именах классов
\namespace\package\Class_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php
\namespace\package_name\Class_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
  • Когда стандартные пространства имен или классы загружаются из файловой системы,.Php добавляется в качестве суффикса целевого файла.
  • Имя организации верхнего уровня (Имя поставщика) Имя класса пространства имен (Класс);

Спецификация Psr-1

  • Именование атрибутов класса

    • Горб в начале капитализации ($100 000)
    • Горб в начале нижнего регистра ($camelCase)
    • Подчеркните разделение ($under_score)

Спецификация стиля PSR-2

  • После каждого оператора объявления пространства имен и блока использования оператора объявления пространства имен необходимо вставить пустую строку.
  • Начальная фигурная скобка ({) класса должна быть записана в отдельной строке после объявления функции, а конечная фигурная скобка (}) должна быть записана в отдельной строке после тела функции.
  • Начальная фигурная скобка ({) метода должна быть записана в отдельной строке после объявления функции, а конечная фигурная скобка (}) должна быть записана в отдельной строке после тела функции.
  • Атрибуты и методы класса должны добавлять модификаторы доступа (частные, защищенные и общедоступные), абстрактные и окончательные должны объявляться перед доступом к модификаторам, а статические должны объявляться после доступа к модификаторам.
  • После ключевого слова структуры управления должен быть пробел, но при вызове метода или функции не должно быть пробела.
  • Начальная фигурная скобка ({) структуры управления должна быть записана в той же строке объявления, а конечная фигурная скобка (}) должна быть записана в отдельной строке после тела.

Спецификация интерфейса журнала Psr-3

Спецификация автоматической загрузки PSR-4

  • Полное имя класса Должно Иметь пространство имен верхнего уровня
  • Полные имена классов могут иметь одно или несколько имен подпространств.
  • Полные имена классов должны иметь окончательное имя класса (я думаю, что вы не можете использовать <Имя пространства имен> (<Имена подпространств>)* для представления полного класса).
  • Базовая структура оставленного пространства имен class_method

Спецификация Аннотации Psr-5

Спецификация Интерфейса Кэша Psr-6

Спецификация интерфейса HTTP-сообщений Psr-7

Спецификация безопасности PSR-9

Спецификация интерфейса контейнера PSR-11

Сообщество Laravel GitHub