Download the PHP package kaspi/di-container without Composer
On this page you can find all versions of the php package kaspi/di-container. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package di-container
DiContainer
Kaspi/di-container — это легковесный контейнер внедрения зависимостей для PHP >= 8.0 с автоматическим связыванием зависимостей.
Установка
Миграция с версии 1.0.x к версии 1.1.x
Новая сигнатура интерфейса DiContainerFactoryInterface
для метод make
:
Примеры использования
- Примеры использования пакета kaspi/di-container в репозитории 🦄
- Примеры использования DiContainer со стандартным конфигурированием.
- Примеры использования DiContainer c PHP атрибутами.
- Конфигурация DiContainer с использованием нотаций по массиву.
DiContainer со стандартным конфигурированием
Через определения зависимостей вручную в DiContainer.
Получение существующего класса и разрешение встроенных типов параметров в конструкторе:
Разрешение встроенных (простых) типов аргументов в объявлении:
Разрешение встроенных (простых) типов аргументов в объявлении со ссылкой на другой id контейнера:
Разрешение типов аргументов в конструкторе по имени аргумента:
Получение класса по интерфейсу
Ещё один пример получение класса по интерфейсу:
DiContainer c PHP атрибутами
Конфигурирование DiContainer c PHP атрибутами для определений.
Получение существующего класса и разрешение простых типов параметров в конструкторе:
Использование Inject атрибута на простых (встроенных) типах для
получения данных из контейнера, где ключ "users_data" определен в контейнере:
Получение по интерфейсу:
Access array delimiter notation
Доступ к "контейнер-id" с вложенными определениям.
По-умолчанию символ разделитель .
Произвольный символ разделитель можно определить
Kaspi\DiContainer\DiContainer::__construct
аргумент$delimiterAccessArrayNotationSymbol
Kaspi\DiContainer\DiContainerFactory::make
аргумент$delimiterAccessArrayNotationSymbol
Access-array-delimiter-notation определение на базе ручного конфигурирования
Access-array-delimiter-notation - определения на основе PHP атрибутов.
Тесты
Прогнать тесты без подсчета покрытия кода
Запуск тестов с проверкой покрытия кода тестами
Статический анализ кода
Для статического анализа используем пакет Phan.
Запуск без PHP расширения PHP AST
Code style
Для приведения кода к стандартам используем php-cs-fixer который объявлен в dev зависимости composer-а
Использование Docker образа с PHP 8.0, 8.1, 8.2, 8.3
Указать образ с версией PHP можно в файле .env
в ключе PHP_IMAGE
.
По умолчанию контейнер собирается с образом php:8.0-cli-alpine
.
Собрать контейнер
Установить зависимости php composer-а:
Прогнать тесты с отчетом о покрытии кода
⛑ pезультаты будут в папке .coverage-html
Статический анализ кода Phan (static analyzer for PHP)
Можно работать в shell оболочке в docker контейнере: