Что такое PSR · PHP Backend — JobPilot

Что такое PSR

PHP Backend · 25%
Вопрос 18 / #
Пример ответа

1) Короткий ответ
PSR (PHP Standard Recommendation) — это стандарты, разработанные PHP-FIG для обеспечения совместимости и единообразия PHP-кода.

2) Основные стандарты (список)

  • PSR-1, PSR-12 — Основные стандарты кодирования (именование, форматирование)

  • PSR-4 — Автозагрузка классов (самый важный для современной разработки)

  • PSR-7 — Интерфейсы HTTP-сообщений (Request, Response)

  • PSR-11 — Контейнер внедрения зависимостей

  • PSR-14 — Диспетчеры событий

  • PSR-15 — Обработчики HTTP-запросов (Middleware)

  • PSR-18 — HTTP-клиенты

3) Ключевые идеи

  1. Совместимость — Позволяют разным фреймворкам и библиотекам работать вместе

  2. Стандартизация — Унифицируют подходы к решению common задач

  3. Качество кода — Повышают поддерживаемость и читаемость кода

5) Пример PSR-4 автозагрузки

json

Copy

Download

// composer.json
{
    "autoload": {
        "psr-4": {
            "App\\": "src/",
            "Vendor\\Package\\": "vendor/package/src"
        }
    }
}

php

Copy

Download

// Соответствие файловой структуры:
// src/Controllers/UserController.php
namespace App\Controllers;

class UserController {
    // Автоматически загрузится из src/Controllers/UserController.php
}

// vendor/package/src/Logger/FileLogger.php  
namespace Vendor\Package\Logger;

class FileLogger {
    // Автоматически загрузится из vendor/package/src/Logger/FileLogger.php
}

6) Follow-up вопросы

  • Какой PSR самый важный?PSR-4 (автозагрузка).

  • Где найти актуальные PSR?PHP-FIG website.

7) Практический совет

  1. Настройте PSR-4 автозагрузку в своем проекте через composer.json и убедитесь что неймспейсы соответствуют структуре директорий.

  2. Установите и настройте PHP CodeSniffer с PSR-12 стандартом для автоматической проверки стиля кода.

PHP Backend
Junior
25%
Навигация
С какими версиями PHP работал
Следующий: Что такое ООП
Предыдущий: С какими версиями PHP работал

Мы используем cookie для улучшения сайта. Продолжая пользоваться сайтом, вы соглашаетесь с политикой cookie и политикой конфиденциальности.