Injector
in package
Контейнер внедрения зависимостей
Автоматически разрешает зависимости классов, управляет синглтонами и хранит произвольные значения.
Table of Contents
Properties
- $bindings : array<string, string|callable>
- $singletons : array<string, object>
- $values : array<string, mixed>
Methods
- bind() : void
- Привязывает абстракцию к реализации
- make() : T
- Создает или возвращает экземпляр класса
- set() : void
- Устанавливает произвольное значение
- singleton() : void
- Регистрирует синглтон
- build() : object
- Автоматически строит объект с зависимостями
- resolveParameter() : mixed
- Разрешает параметр конструктора
Properties
$bindings
protected
array<string, string|callable>
$bindings
= []
Привязки интерфейсов к реализациям
$singletons
protected
array<string, object>
$singletons
= []
Кеш экземпляров-синглтонов
$values
protected
array<string, mixed>
$values
= []
Хранилище произвольных значений
Methods
bind()
Привязывает абстракцию к реализации
public
bind(string $abstract, string|callable $concrete) : void
Parameters
- $abstract : string
-
Абстрактный класс или интерфейс
- $concrete : string|callable
-
Конкретный класс или фабричная функция
Tags
make()
Создает или возвращает экземпляр класса
public
make(T> $abstract) : T
Parameters
- $abstract : T>
-
Имя класса/интерфейса
Tags
Return values
Tset()
Устанавливает произвольное значение
public
set(string $key, mixed $value) : void
Parameters
- $key : string
-
Уникальный ключ
- $value : mixed
-
Значение
Tags
singleton()
Регистрирует синглтон
public
singleton(string $abstract[, string|callable|null $concrete = null ]) : void
Parameters
- $abstract : string
-
Абстрактный класс или интерфейс
- $concrete : string|callable|null = null
-
Конкретный класс или фабрика
Tags
build()
Автоматически строит объект с зависимостями
protected
build(class-string $class) : object
Parameters
- $class : class-string
-
Имя класса
Tags
Return values
objectresolveParameter()
Разрешает параметр конструктора
protected
resolveParameter(ReflectionParameter $parameter) : mixed
Parameters
- $parameter : ReflectionParameter