Documentation

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
example

$injector->bind(LoggerInterface::class, FileLogger::class);

make()

Создает или возвращает экземпляр класса

public make(T> $abstract) : T
Parameters
$abstract : T>

Имя класса/интерфейса

Tags
template
throws
RuntimeException

Если разрешение зависимости невозможно

Return values
T

set()

Устанавливает произвольное значение

public set(string $key, mixed $value) : void
Parameters
$key : string

Уникальный ключ

$value : mixed

Значение

Tags
example

$injector->set('config.path', '/app/config');

singleton()

Регистрирует синглтон

public singleton(string $abstract[, string|callable|null $concrete = null ]) : void
Parameters
$abstract : string

Абстрактный класс или интерфейс

$concrete : string|callable|null = null

Конкретный класс или фабрика

Tags
example

$injector->singleton(Database::class);

build()

Автоматически строит объект с зависимостями

protected build(class-string $class) : object
Parameters
$class : class-string

Имя класса

Tags
throws
RuntimeException

Если класс не может быть создан

Return values
object

resolveParameter()

Разрешает параметр конструктора

protected resolveParameter(ReflectionParameter $parameter) : mixed
Parameters
$parameter : ReflectionParameter
Tags
throws
RuntimeException

Для непримитивных типов без значения по умолчанию


        
On this page

Search results