Syringe - IoC Container on PHP

Быстрый, мощный, декларативный IoC Container на PHP

Данный компонент - реализация принципа инверсии управления (Inversion of Control principle). Это важный принцип ООП, использование которого помогает уменьшить связность кода.

В нем реализованы: внедрение параметров, фабричные методы, основные виды инъекций, в том числе и через интерфейс, области видимости, внедрение тега и триггеры.

Быстрый

В Syringe используется минимум объектов при работе контейнера. Используемая конфигурация уже провалидирована и сконвертирована в простой php массив, что позволяет выжать максимум из скорости.

Мощный

В Syringe реализовано все, что должно быть реализовано в IoC Container и даже больше. Дополнительные функции, такие как триггеры или внедрение тегов увеличат отдачу от использования контейнера.

Декларативный

Конфигурация Syringe происходит при помощи обычных php массивов. Декларативное описание намного проще и понятней, чем использование программирования для конфигуриро-вания IoC.

Принцип работы

Он состоит из двух частей: Container и Builder. Container реализует логику создания, получения сервисов, разрешения и внедрения зависимостей, а также работу с параметрами. Builder используется для сборки (компиляции) конфигурации к необходимому виду для работы Container.