Spec-Zone.ru › CakePHP 4.2

Класс Container

Контейнер инъекции зависимостей

Основан на контейнере из League\Container

Пространство имён: Cake\Core
Экспериментальная версия: Ожидаются изменения 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\DefinitionInterface

addServiceProvider() public

addServiceProvider(ServiceProviderInterface|string $provider): $this

Добавить провайдер сервисов в контейнер

Параметры

ServiceProviderInterface|string $provider

Провайдер сервисов для добавления.

Возвращаемое значение

$this

defaultToShared() public

defaultToShared(boolean $shared = true): self

Указывает, должен ли контейнер по умолчанию определять общие определения.

Параметры

boolean $shared optional

Возвращаемое значение

self

delegate() public

delegate(ContainerInterface $container): self

Делегировать резервный контейнер для проверки сервисов, если их невозможно разрешить через этот контейнер.

Параметры

ContainerInterface $container

Возвращаемое значение

self

extend() public

extend(string $id): League\Container\Definition\DefinitionInterface

Изменить существующее определение

Параметры

string $id

Имя класса или имя изменяемого сервиса.

Возвращаемое значение

League\Container\Definition\DefinitionInterface

get() 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

Идентификатор записи для поиска.

Возвращаемое значение

bool

inflector() public

inflector(string $type, callable|null $callback = null): InflectorInterface

Позволяет управлять определёнными типами при разрешении.

Параметры

string $type
callable|null $callback optional

Возвращаемое значение

InflectorInterface

share() 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API