Основные нормы
- Файлы 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