Skip to content

PSR-1: Basic Coding Standard

PSR-1 (PHP Standard Recommendation 1) — этот стандарт определяет минимальные правила для совместимости и хорошей организации кода, чтобы улучшить его читаемость и совместимость между различными библиотеками и проектами. PSR-1 является базой для других более специфичных стандартов PSR.

Основные принципы и правила PSR-1:

1. Кодировка файлов

Все исходные PHP-файлы должны быть сохранены в UTF-8 без BOM (Byte Order Mark).

Пример: Все файлы должны быть сохранены в UTF-8 (например, через настройки в редакторе кода).

2. PHP-теги

Каждый PHP-скрипт должен начинаться с открывающего тега <?php и заканчиваться без закрывающего тега ?>, если файл не содержит HTML-кода. Это помогает избежать неожиданных пробелов и символов, которые могут быть выведены на экран.

Пример:

<?php
// Это правильный PHP файл

Неправильный пример:

<?php
// Пробел или символ после закрывающего тега
?>

3. Имена классов

Имена классов должны быть записаны в PascalCase (каждое слово начинается с заглавной буквы, например, MyClass).

Пример:

class MyClass {
    // Код класса
}

4. Имена методов

Имена методов должны быть записаны в camelCase (первое слово с маленькой буквы, последующие с заглавной).

Пример:

class MyClass {
    public function myMethod() {
        // Код метода
    }
}

5. Имена констант

Имена констант должны быть записаны в UPPER_SNAKE_CASE (все буквы заглавные, слова разделены подчеркиваниями).

Пример:

class MyClass {
    const MY_CONSTANT = 'value';
}

6. Файловая структура

Для классов рекомендуется использовать автозагрузку с помощью PSR-4. Таким образом, файлы должны быть организованы таким образом, чтобы соответствовать структуре классов. Например, класс MyClass должен находиться в файле src/MyClass.php.

7. Использование пробела

В коде должен быть один пробел после ключевых слов (например, if, foreach, while) перед открывающей скобкой. Это повышает читаемость кода.

Пример:

if ($condition) {
    // действие
}

8. Строки с одной кавычкой

Для строк, содержащих только простые текстовые значения, рекомендуется использовать одиночные кавычки, а не двойные.

Пример:

$str = 'Hello, World!';

Неправильный пример:

$str = "Hello, World!";

9. Комментарии

Комментарии в коде должны быть написаны в формате, понятном разработчикам. PSR-1 рекомендует использовать стандартные многострочные и однострочные комментарии.

Пример:

// Это однострочный комментарий
/* Это
    многострочный
    комментарий */

Пример кода, который соответствует PSR-1:

<?php

// Класс в стиле PascalCase
class MyExampleClass {

    // Константа в стиле UPPER_SNAKE_CASE
    const EXAMPLE_CONSTANT = 'constant_value';

    // Метод в стиле camelCase
    public function myExampleMethod() {
        // Тело метода
    }
}