Download the PHP package mepihindeveloper/php-service-locator without Composer
On this page you can find all versions of the php package mepihindeveloper/php-service-locator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mepihindeveloper/php-service-locator
More information about mepihindeveloper/php-service-locator
Files in mepihindeveloper/php-service-locator
Package php-service-locator
Short Description Компонент-контейнер для работы с экземплярами классов-служб
License MIT
Informations about the package php-service-locator
php-service-locator
Компонент-контейнер для работы с экземплярами классов-служб. Реализует логику контейнера служб по шаблону проектирования "Локатор служб".
Структура
В директории interfaces
хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации
собственных классов служб. Класс ServiceLocator
выступает в качестве контейнера служб.
В директории exceptions
хранятся необходимые исключения. Исключение QueryStringNotFoundException
исключение необходимо для обозначения ошибки типа служб в контейнере.
Примерная реализация функционала:
Доступные методы
ServiceLocator
Метод | Аргументы | Возвращаемые данные | Исключения | Описание | |||||
---|---|---|---|---|---|---|---|---|---|
get(string $id) | Идентификатор службы (класс объекта object::class) | ServiceInterface | ContainerObjectInvalidTypeException|NotFoundExceptionInterface | Получает службу из контейнера | |||||
has(string $id): bool | Идентификатор службы (класс объекта object::class) | bool | Проверяет наличие службы в контейнере | ||||||
addService(string $id, array $params): void | string $id Идентификатор класса-службы (object::class); array $params Аргументы конструктора класса-службы | Добавляет класс-службу | |||||||
addInstance(string $id, ServiceInterface $service): void | string $id Идентификатор класса-службы (object::class); ServiceInterface $service Экземпляр класса-службы | Добавляет экземпляр класс-службу | QueryStringInterface | Формирует объект QueryString. Может быть изменен в конструкторе класса |
Контакты
Вы можете связаться со мной в социальной сети ВКонтакте: ВКонтакте: Максим Епихин
Если удобно писать на почту, то можете воспользоваться этим адресом: [email protected]
Мой канал на YouTube, который посвящен разработке веб и игровых проектов: YouTube: Максим Епихин
Поддержать меня можно переводом на Яндекс.Деньги: Денежный перевод