PSR: стандарты и рекомендации для PHP
Рекомендации по стандартам PHP (PSR)
PSR-1: Базовые стандарты кодирования
Этот стандарт определяет базовый набор правил для именования файлов, классов, методов и переменных. Он также определяет, что должно содержаться в файле (только PHP код, без пробелов или пустых строк перед <?php и после ?>).
<?php
namespace MyNamespace;
class MyClass
{
public function myMethod()
{
// код метода
}
}
PSR-4: Автозагрузка классов
Этот стандарт определяет структуру каталогов и правила именования, которые помогают загружать классы автоматически. Он устанавливает, что пространства имен и имена классов должны соответствовать иерархии каталогов.
<?php
namespace MyNamespace;
class MyClass
{
public function myMethod()
{
// код метода
}
}
Класс MyClass находится в каталоге MyNamespace, в соответствии с иерархией пространства имен.
PSR-12: Расширение документации PSR-2
Этот стандарт расширяет правила кодирования, определенные в PSR-2. Он содержит дополнительные рекомендации относительно форматирования кода, максимальной длины строки, отступов и других аспектов.
<?php
namespace MyNamespace;
class MyClass
{
public function myMethod()
{
// длинный комментарий, который следует разбить на строки в соответствии с максимальной длиной строки, указанной в PSR-12
$longVariableName = 'Some long string';
if ($longVariableName === 'Some long string') {
// код условия
}
}
}
Все эти стандарты в PSR помогают программистам писать код, который легко читать и понимать другим разработчикам, а также обеспечивает совместимость с другими библиотеками и проектами на PHP.
Использование этих стандартов не является обязательным, но соблюдение этих рекомендаций повышает качество кода и упрощает сопровождение проекта. Вы можете использовать стандарты PSR в своих проектах, чтобы сохранить единый стиль и согласованность в коде.
Обратите внимание, что приведенные примеры кода демонстрируют только основные концепции каждой рекомендации PSR и не охватывают все возможности данных стандартов. Подробное описание PSR и их кодирование может быть найдено на официальном сайте FIG (Framework Interop Group).