Класс Container
Контейнер инъекции зависимостей
Основан на контейнере из League\Container
Экспериментальная версия: Ожидаются изменения API в незначащих выпусках.
Краткое описание свойств
- $defaultToShared protected
boolean - $definitions protected
DefinitionAggregateInterface - $delegates protected
ContainerInterface[] - $inflectors protected
InflectorAggregateInterface - $providers protected
ServiceProviderAggregateInterface
Краткое описание методов
-
__construct() public
Конструктор.
-
add() public
Добавить элемент в контейнер.
-
addServiceProvider() public
Добавить провайдер сервисов в контейнер
-
defaultToShared() public
Указывает, должен ли контейнер по умолчанию определять общие определения.
-
delegate() public
Делегировать резервный контейнер для проверки сервисов, если их невозможно разрешить через этот контейнер.
-
extend() public
Изменить существующее определение
-
get() public
Находит запись в контейнере по её идентификатору и возвращает её.
-
has() public
Возвращает true, если контейнер может вернуть запись для данного идентификатора. В противном случае возвращает false.
has($id)возвращение true не означает, чтоget($id)не выбросит исключение. Однако это означает, чтоget($id)не выброситNotFoundExceptionInterface. -
inflector() public
Позволяет управлять определёнными типами при разрешении.
-
share() public
Провайдер для добавления с shared как true.
Подробное описание методов
__construct() public
__construct(DefinitionAggregateInterface|null $definitions = null, ServiceProviderAggregateInterface|null $providers = null, InflectorAggregateInterface|null $inflectors = null)
Конструктор.
Параметры
-
DefinitionAggregateInterface|null$definitions optional -
ServiceProviderAggregateInterface|null$providers optional -
InflectorAggregateInterface|null$inflectors optional
add() public
add(string $id, mixed $concrete = null, boolean $shared = false): League\Container\Definition\DefinitionInterface
Добавить элемент в контейнер.
Параметры
-
string$id Имя класса или имя регистрируемого сервиса.
-
mixed$concrete optional Имя класса, интерфейса или имени, к которому разрешение обращается. Также может быть созданный объект, Closure или null. Если null, то параметр
$idбудет использоваться как имя конкретного класса.-
boolean$shared optional Установить в true, чтобы сделать сервис общим.
Возвращаемое значение
League\Container\Definition\DefinitionInterfaceaddServiceProvider() public
addServiceProvider(ServiceProviderInterface|string $provider): $this
Добавить провайдер сервисов в контейнер
Параметры
-
ServiceProviderInterface|string$provider Провайдер сервисов для добавления.
Возвращаемое значение
$thisdefaultToShared() public
defaultToShared(boolean $shared = true): self
Указывает, должен ли контейнер по умолчанию определять общие определения.
Параметры
-
boolean$shared optional
Возвращаемое значение
selfdelegate() public
delegate(ContainerInterface $container): self
Делегировать резервный контейнер для проверки сервисов, если их невозможно разрешить через этот контейнер.
Параметры
-
ContainerInterface$container
Возвращаемое значение
selfextend() public
extend(string $id): League\Container\Definition\DefinitionInterface
Изменить существующее определение
Параметры
-
string$id Имя класса или имя изменяемого сервиса.
Возвращаемое значение
League\Container\Definition\DefinitionInterfaceget() public
get(string $id): mixed
Находит запись в контейнере по её идентификатору и возвращает её.
Параметры
-
string$id Идентификатор записи для поиска.
Возвращаемое значение
mixedИсключения
NotFoundExceptionInterfaceЗапись не найдена для этого идентификатора.
ContainerExceptionInterfaceОшибка при получении записи.
has() public
has(string $id): bool
Возвращает true, если контейнер может вернуть запись для данного идентификатора. В противном случае возвращает false.
has($id) возвращение true не означает, что get($id) не выбросит исключение. Однако это означает, что get($id) не выбросит NotFoundExceptionInterface.
Параметры
-
string$id Идентификатор записи для поиска.
Возвращаемое значение
boolinflector() public
inflector(string $type, callable|null $callback = null): InflectorInterface
Позволяет управлять определёнными типами при разрешении.
Параметры
-
string$type -
callable|null$callback optional
Возвращаемое значение
InflectorInterfaceshare() public
share(string $id, mixed $concrete = null): DefinitionInterface
Провайдер для добавления с shared как true.
Параметры
-
string$id -
mixed$concrete optional
Возвращаемое значение
DefinitionInterfaceПодробное описание свойств
$defaultToShared protected
Тип
boolean$definitions protected
Тип
DefinitionAggregateInterface$delegates protected
Тип
ContainerInterface[]$inflectors protected
Тип
InflectorAggregateInterface$providers protected
Тип
ServiceProviderAggregateInterface
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Core.Container.html