← Назад в словарь

PSR-1

PSR-1 — базовый стандарт кодирования

Суть в одном предложении

PSR-1 задаёт базовые правила написания PHP-кода для совместимости между проектами и библиотеками.

Краткое определение

PSR-1 (Basic Coding Standard) — стандарт PHP-FIG, который определяет основные требования к коду: имена файлов и классов, неймспейсы, стиль объявления классов и методов, кодировка файлов.

Оригинал и перевод

  • Язык: английский
  • Оригинал: PSR-1: Basic Coding Standard
  • Буквальный перевод: базовый стандарт кодирования

Синонимы и варианты написания

  • PSR-1
  • PSR1
  • Basic Coding Standard

Происхождение

Принят PHP-FIG (PHP Framework Interop Group). PSR-12 (расширенный стиль кода) явно требует соответствия PSR-1; многие инструменты (PHP_CodeSniffer, PHP-CS-Fixer) проверяют оба.

Где используется

  • Любой современный PHP-проект и открытые библиотеки
  • Инструменты линтинга и форматирования (PHP_CodeSniffer, PHP-CS-Fixer)
  • Code review и CI (проверка на соответствие PSR-1)

Когда это важно

При подключении чужого кода или публикации своей: единые правила имён и структуры упрощают интеграцию. Несоблюдение PSR-1 часто ломает автозагрузку по PSR-4.

Подробное объяснение

PSR-1 фиксирует: файлы только в UTF-8 без BOM; классы — в одном файле, имя файла совпадает с именем класса; неймспейсы и имена классов по стандарту PSR-4; константы класса — в UPPER_SNAKE_CASE; объявления namespace и use в начале файла, без кода до них. Это не стиль отступов или длины строки (это PSR-12), а минимум для совместимости.

Аналоги и связанные термины

  • PSR-12 — расширенный стиль кода, включает требования PSR-1
  • PSR-4 — автозагрузка; имена классов и файлов по PSR-1 согласуются с PSR-4
  • PHP_CodeSniffer, PHP-CS-Fixer — инструменты проверки

Пример использования

«Проект настроен на проверку PSR-1 и PSR-12 в CI — коммиты с нарушениями не проходят.»

Мини‑FAQ

  • PSR-1 и PSR-12 — в чём разница?
    Ответ: PSR-1 — базовый минимум (имена, структура файла, кодировка). PSR-12 добавляет отступы, переносы строк, длину строки, оформление фигурных скобок и т.п.

Смотри также

  • PSR-4
  • PSR-12
  • Namespace