Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Библиотека для внедрения зависимостей (PSR-11)

Реализация стандарта PSR-11 для работы с контейнером зависимостей в PHP.

🛠 Как это работает

  1. Конфигурация
    Большая часть зависимостей конфигурируется автоматически с помощью autowiring в constructor.
    Вы конфигурируете по минимуму лишь в исключительных случаях и переиспользуете эту конфигурацию дальше.

  2. Build - генерация На основе вашей конфигурации библиотека создаёт PHP-класс, реализующий Psr\Conainer\ContainerInterface.

  3. Использование
    Вы используете сгенерированный класс у себя в проекте для разрешения зависимостей.

Если в конфигурации есть ошибки или зависимости не могут быть разрешены - библиотека сообщит об этом на этапе build.

✅ Преимущества

  • Простота
    Работаете с готовым классом через стандартный интерфейс.

  • Оптимизация
    Не требует дополнительного кэширования - всё работает с opcache.

  • Скорость Нет runtime-накладных расходов: контейнер готов к использованию.
    Все накладные расходы только на этапе build.

  • Гибкость
    Можно генерировать код при деплое, во время сборки или при первом запросе.
    Вы сами определяете как вам удобней.

⚠️ Что стоит учесть

  • Требуется сборка
    Нужно организовать этап генерации кода, что необычно для типичного PHP-проекта.