Spec-Zone.ru › Laravel 7

Контейнер

класс Container реализует ArrayAccess, Container (Просмотреть исходный код)

Свойства

статический защищённый Container $instance

Текущий глобально доступный контейнер (если есть).

защищённый bool[] $resolved

Массив типов, которые были разрешены.

защищённый array[] $bindings

Связывания контейнера.

защищённый Closure[] $methodBindings

Метод связывания контейнера.

защищённый object[] $instances

Общие экземпляры контейнера.

защищённый string[] $aliases

Зарегистрированные псевдонимы типов.

защищённый array[] $abstractAliases

Зарегистрированные псевдонимы, индексированные по абстрактному имени.

защищённый array[] $extenders

Закрытия расширения для сервисов.

защищённый array[] $tags

Все зарегистрированные теги.

защищённый array[] $buildStack

Стек конкретизаций, которые в настоящее время строятся.

защищённый array[] $with

Стек переопределения параметров.

array[] $contextual

Карта контекстуального связывания.

защищённый array[] $reboundCallbacks

Все зарегистрированные обратные вызовы пересвязывания.

защищённый Closure[] $globalResolvingCallbacks

Все глобальные обратные вызовы разрешения.

защищённый Closure[] $globalAfterResolvingCallbacks

Все глобальные обратные вызовы после разрешения.

защищённый array[] $resolvingCallbacks

Все обратные вызовы разрешения по типу класса.

защищённый array[] $afterResolvingCallbacks

Все обратные вызовы после разрешения по типу класса.

Методы

ContextualBindingBuilder when(string|array $concrete)

Определите контекстное связывание.

bool bound(string $abstract)

Определите, было ли связан абстрактный тип.

has($id)

{@inheritdoc}

bool resolved(string $abstract)

Определите, был ли решен заданный абстрактный тип.

bool isShared(string $abstract)

Определите, является ли заданный тип общим.

bool isAlias(string $name)

Определите, является ли заданная строка псевдонимом.

void bind(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Зарегистрировать связывание в контейнере.

Closure getClosure(string $abstract, string $concrete)

Получить замыкание для использования при построении типа.

bool hasMethodBinding(string $method)

Определите, содержит ли контейнер привязку к методу.

void bindMethod(array|string $method, Closure $callback)

Привязать обратный вызов для разрешения с помощью Container::call.

string parseBindMethod(array|string $method)

Получить метод для привязки в формате class@method.

mixed callMethodBinding(string $method, mixed $instance)

Получить привязку к методу для данного метода.

void addContextualBinding(string $concrete, string $abstract, Closure|string $implementation)

Добавить контекстное связывание в контейнер.

void bindIf(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Зарегистрировать привязку, если она еще не зарегистрирована.

void singleton(string $abstract, Closure|string|null $concrete = null)

Зарегистрировать общую привязку в контейнере.

void singletonIf(string $abstract, Closure|string|null $concrete = null)

Зарегистрировать общую привязку, если она еще не зарегистрирована.

void extend(string $abstract, Closure $closure)

«Расширить» абстрактный тип в контейнере.

mixed instance(string $abstract, mixed $instance)

Зарегистрировать существующий экземпляр как общий в контейнере.

void removeAbstractAlias(string $searched)

Удалить псевдоним из кэша псевдонимов контекстного связывания.

void tag(array|string $abstracts, array|mixed $tags)

Назначить набор тегов заданному связыванию.

iterable tagged(string $tag)

Разрешить все привязки для заданного тега.

void alias(string $abstract, string $alias)

Создать псевдоним типа с другим именем.

mixed rebinding(string $abstract, Closure $callback)

Привязать новый обратный вызов к событию перепривязки абстракции.

mixed refresh(string $abstract, mixed $target, string $method)

Обновить экземпляр в указанной цели и методе.

void rebound(string $abstract)

Вызвать обратные вызовы «rebound» для данного типа абстракции.

array getReboundCallbacks(string $abstract)

Получить обратные вызовы для перепривязки заданного типа.

Closure wrap(Closure $callback, array $parameters = [])

Оборачивает заданное замыкание таким образом, что его зависимости будут внедрены при выполнении.

mixed call(callable|string $callback, array $parameters = [], string|null $defaultMethod = null)

Вызвать заданное замыкание/класс@метод и внедрить его зависимости.

Closure factory(string $abstract)

Получить замыкание для разрешения заданного типа из контейнера.

mixed makeWith(string $abstract, array $parameters = [])

Псевдоним функции make().

mixed make(string $abstract, array $parameters = [])

Разрешить заданный тип из контейнера.

get($id)

{@inheritdoc}

mixed resolve(string $abstract, array $parameters = [], bool $raiseEvents = true)

Разрешить заданный тип из контейнера.

mixed getConcrete(string $abstract)

Получить конкретный тип для заданной абстракции.

Closure|string|array|null getContextualConcrete(string $abstract)

Получить контекстную конкретную привязку для заданной абстракции.

Closure|string|null findInContextualBindings(string $abstract)

Найти конкретную привязку для данной абстракции в массиве контекстных привязок.

bool isBuildable(mixed $concrete, string $abstract)

Определить, можно ли построить заданный конкретный тип.

mixed build(Closure|string $concrete)

Создать экземпляр конкретного типа.

array resolveDependencies(array $dependencies)

Разрешить все зависимости из ReflectionParameters.

bool hasParameterOverride(ReflectionParameter $dependency)

Определить, имеет ли данная зависимость переопределение параметра.

mixed getParameterOverride(ReflectionParameter $dependency)

Получить переопределение параметра для зависимости.

array getLastParameterOverride()

Получить последнее переопределение параметра.

mixed resolvePrimitive(ReflectionParameter $parameter)

Разрешить примитивную зависимость, не являющуюся классом.

mixed resolveClass(ReflectionParameter $parameter)

Разрешить зависимость, основанную на классе, из контейнера.

mixed resolveVariadicClass(ReflectionParameter $parameter)

Разрешить вариадическую зависимость, основанную на классе, из контейнера.

void notInstantiable(string $concrete)

Выбросить исключение, что конкретная реализация не может быть создана.

void unresolvablePrimitive(ReflectionParameter $parameter)

Выбросить исключение для неразрешимого примитива.

void resolving(Closure|string $abstract, Closure $callback = null)

Зарегистрировать новый обратный вызов разрешения.

void afterResolving(Closure|string $abstract, Closure $callback = null)

Зарегистрировать новый обратный вызов после разрешения для всех типов.

void fireResolvingCallbacks(string $abstract, mixed $object)

Вызвать все обратные вызовы разрешения.

void fireAfterResolvingCallbacks(string $abstract, mixed $object)

Вызвать все обратные вызовы после разрешения.

array getCallbacksForType(string $abstract, object $object, array $callbacksPerType)

Получить все обратные вызовы для заданного типа.

void fireCallbackArray(mixed $object, array $callbacks)

Вызвать массив обратных вызовов с объектом.

array getBindings()

Получить связи контейнера.

string getAlias(string $abstract)

Получить псевдоним для абстрактного типа, если он доступен.

array getExtenders(string $abstract)

Получить обратные вызовы расширения для заданного типа.

void forgetExtenders(string $abstract)

Удалить все обратные вызовы расширения для заданного типа.

void dropStaleInstances(string $abstract)

Удалить все устаревшие экземпляры и псевдонимы.

void forgetInstance(string $abstract)

Удалить разрешённый экземпляр из кэша экземпляров.

void forgetInstances()

Очистить все экземпляры из контейнера.

void flush()

Очистить контейнер от всех связей и разрешённых экземпляров.

static Container getInstance()

Получить глобально доступный экземпляр контейнера.

static Container|Container setInstance(Container $container = null)

Установить общий экземпляр контейнера.

bool offsetExists(string $key)

Определить, существует ли заданный индекс.

mixed offsetGet(string $key)

Получить значение по заданному индексу.

void offsetSet(string $key, mixed $value)

Установить значение по заданному индексу.

void offsetUnset(string $key)

Удалить значение по заданному индексу.

mixed __get(string $key)

Динамический доступ к сервисам контейнера.

void __set(string $key, mixed $value)

Динамическое задание сервисов контейнера.

Details

ContextualBindingBuilder when(string|array $concrete)

Определить контекстную связь.

Parameters

string|array $concrete

Return Value

ContextualBindingBuilder

bool bound(string $abstract)

Определить, была ли связана заданная абстрактная сущность.

Parameters

string $abstract

Return Value

bool

has($id)

{@inheritdoc}

Parameters

$id

bool resolved(string $abstract)

Определить, была ли разрешена заданная абстрактная сущность.

Parameters

string $abstract

Return Value

bool

bool isShared(string $abstract)

Определить, является ли заданный тип общим.

Parameters

string $abstract

Return Value

bool

bool isAlias(string $name)

Определить, является ли заданная строка псевдонимом.

Parameters

string $name

Return Value

bool

void bind(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Зарегистрировать связь в контейнере.

Parameters

string $abstract
Closure|string|null $concrete
bool $shared

Return Value

void

protected Closure getClosure(string $abstract, string $concrete)

Получить замыкание, используемое при создании типа.

Параметры

string $abstract
string $concrete

Значение возврата

Closure

bool hasMethodBinding(string $method)

Определить, содержит ли контейнер привязку к методу.

Параметры

string $method

Значение возврата

bool

void bindMethod(array|string $method, Closure $callback)

Привязать обратный вызов для обработки с Container::call.

Параметры

array|string $method
Closure $callback

Значение возврата

void

protected string parseBindMethod(array|string $method)

Получить метод для привязки в формате class@method.

Параметры

array|string $method

Значение возврата

string

mixed callMethodBinding(string $method, mixed $instance)

Получить привязку к методу для заданного метода.

Параметры

string $method
mixed $instance

Значение возврата

mixed

void addContextualBinding(string $concrete, string $abstract, Closure|string $implementation)

Добавить контекстуальную привязку в контейнер.

Параметры

string $concrete
string $abstract
Closure|string $implementation

Значение возврата

void

void bindIf(string $abstract, Closure|string|null $concrete = null, bool $shared = false)

Зарегистрировать привязку, если она еще не зарегистрирована.

Параметры

string $abstract
Closure|string|null $concrete
bool $shared

Значение возврата

void

void singleton(string $abstract, Closure|string|null $concrete = null)

Зарегистрировать общую привязку в контейнере.

Параметры

string $abstract
Closure|string|null $concrete

Значение возврата

void

void singletonIf(string $abstract, Closure|string|null $concrete = null)

Зарегистрировать общую привязку, если она еще не зарегистрирована.

Параметры

string $abstract
Closure|string|null $concrete

Значение возврата

void

void extend(string $abstract, Closure $closure)

«Расширить» абстрактный тип в контейнере.

Параметры

string $abstract
Closure $closure

Значение возврата

void

Исключения

InvalidArgumentException

mixed instance(string $abstract, mixed $instance)

Зарегистрировать существующий экземпляр как общий в контейнере.

Параметры

string $abstract
mixed $instance

Значение возврата

mixed

protected void removeAbstractAlias(string $searched)

Удалить псевдоним из кэша псевдонимов контекстуальной привязки.

Параметры

string $searched

Значение возврата

void

void tag(array|string $abstracts, array|mixed $tags)

Назначить набор тегов заданной привязке.

Параметры

array|string $abstracts
array|mixed $tags

Значение возврата

void

iterable tagged(string $tag)

Разрешить все привязки для заданного тега.

Параметры

string $tag

Значение возврата

iterable

void alias(string $abstract, string $alias)

Создать псевдоним типа с другим именем.

Параметры

string $abstract
string $alias

Значение возврата

void

Исключения

LogicException

mixed rebinding(string $abstract, Closure $callback)

Привязать новый обратный вызов к событию перепривязки абстрактного типа.

Параметры

string $abstract
Closure $callback

Значение возврата

mixed

mixed refresh(string $abstract, mixed $target, string $method)

Обновить экземпляр для данного целевого объекта и метода.

Параметры

string $abstract
mixed $target
string $method

Значение возврата

mixed

protected void rebound(string $abstract)

Вызвать обратные вызовы "rebound" для заданного типа абстракции.

Параметры

string $abstract

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

void

protected array getReboundCallbacks(string $abstract)

Получить обратные вызовы для заданного типа.

Параметры

string $abstract

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

array

Closure wrap(Closure $callback, array $parameters = [])

Оборачивание заданного замыкания таким образом, что его зависимости будут введены при выполнении.

Параметры

Closure $callback
array $parameters

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

Closure

mixed call(callable|string $callback, array $parameters = [], string|null $defaultMethod = null)

Вызов заданного замыкания / класса@метода и ввод его зависимостей.

Параметры

callable|string $callback
array $parameters
string|null $defaultMethod

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

mixed

Исключения

InvalidArgumentException

Closure factory(string $abstract)

Получить замыкание для разрешения заданного типа из контейнера.

Параметры

string $abstract

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

Closure

mixed makeWith(string $abstract, array $parameters = [])

Функциональное имя-псевдоним для make().

Параметры

string $abstract
array $parameters

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

mixed

Исключения

BindingResolutionException

mixed make(string $abstract, array $parameters = [])

Разрешить заданный тип из контейнера.

Параметры

string $abstract
array $parameters

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

mixed

Исключения

BindingResolutionException

get($id)

{@inheritdoc}

Параметры

$id

protected mixed resolve(string $abstract, array $parameters = [], bool $raiseEvents = true)

Разрешить заданный тип из контейнера.

Параметры

string $abstract
array $parameters
bool $raiseEvents

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

mixed

Исключения

BindingResolutionException

protected mixed getConcrete(string $abstract)

Получить конкретный тип для заданной абстракции.

Параметры

string $abstract

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

mixed

protected Closure|string|array|null getContextualConcrete(string $abstract)

Получить контекстуальную конкретную привязку для заданной абстракции.

Параметры

string $abstract

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

Closure|string|array|null

protected Closure|string|null findInContextualBindings(string $abstract)

Найти конкретную привязку для заданной абстракции в массиве контекстуальных привязок.

Параметры

string $abstract

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

Closure|string|null

protected bool isBuildable(mixed $concrete, string $abstract)

Определить, является ли заданный конкретный тип создаваемым.

Параметры

mixed $concrete
string $abstract

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

bool

mixed build(Closure|string $concrete)

Инициализация конкретного экземпляра заданного типа.

Параметры

Closure|string $concrete

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

mixed

Исключения

BindingResolutionException

protected array resolveDependencies(array $dependencies)

Разрешить все зависимости из ReflectionParameters.

Параметры

array $dependencies

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

array

Исключения

BindingResolutionException

protected bool hasParameterOverride(ReflectionParameter $dependency)

Определить, имеет ли заданная зависимость переопределение параметра.

Параметры

ReflectionParameter $dependency

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

bool

protected mixed getParameterOverride(ReflectionParameter $dependency)

Получить переопределение параметра для зависимости.

Параметры

ReflectionParameter $dependency

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

mixed

protected array getLastParameterOverride()

Получить последнее переопределение параметра.

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

array

protected mixed resolvePrimitive(ReflectionParameter $parameter)

Разрешить примитивную зависимость, не являющуюся классом.

Параметры

ReflectionParameter $parameter

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

mixed

Исключения

BindingResolutionException

protected mixed resolveClass(ReflectionParameter $parameter)

Разрешить зависимость, базирующуюся на классе, из контейнера.

Параметры

ReflectionParameter $parameter

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

mixed

Исключения

BindingResolutionException

protected mixed resolveVariadicClass(ReflectionParameter $parameter)

Разрешить зависимость, базирующуюся на классе, из контейнера (вариант с переменным числом аргументов).

Параметры

ReflectionParameter $parameter

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

mixed

protected void notInstantiable(string $concrete)

Выбросить исключение, что конкретная сущность не может быть создана.

Параметры

string $concrete

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

void

Исключения

BindingResolutionException

protected void unresolvablePrimitive(ReflectionParameter $parameter)

Выбросить исключение для неразрешимого примитива.

Параметры

ReflectionParameter $parameter

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

void

Исключения

BindingResolutionException

void resolving(Closure|string $abstract, Closure $callback = null)

Зарегистрировать новый обратный вызов разрешения.

Параметры

Closure|string $abstract
Closure $callback

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

void

void afterResolving(Closure|string $abstract, Closure $callback = null)

Зарегистрировать новый обратный вызов после разрешения для всех типов.

Параметры

Closure|string $abstract
Closure $callback

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

void

protected void fireResolvingCallbacks(string $abstract, mixed $object)

Выполнить все обратные вызовы разрешения.

Параметры

string $abstract
mixed $object

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

void

protected void fireAfterResolvingCallbacks(string $abstract, mixed $object)

Выполнить все обратные вызовы после разрешения.

Параметры

string $abstract
mixed $object

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

void

protected array getCallbacksForType(string $abstract, object $object, array $callbacksPerType)

Получить все обратные вызовы для данного типа.

Параметры

string $abstract
object $object
array $callbacksPerType

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

array

protected void fireCallbackArray(mixed $object, array $callbacks)

Выполнить массив обратных вызовов с объектом.

Параметры

mixed $object
array $callbacks

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

void

array getBindings()

Получить привязки контейнера.

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

array

string getAlias(string $abstract)

Получить псевдоним для абстракции, если он доступен.

Параметры

string $abstract

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

string

protected array getExtenders(string $abstract)

Получить обратные вызовы расширения для данного типа.

Параметры

string $abstract

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

array

void forgetExtenders(string $abstract)

Удалить все обратные вызовы расширения для данного типа.

Параметры

string $abstract

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

void

protected void dropStaleInstances(string $abstract)

Удалить все устаревшие экземпляры и псевдонимы.

Параметры

string $abstract

Значение возврата

void

void forgetInstance(string $abstract)

Удалить разрешенный экземпляр из кэша экземпляров.

Параметры

string $abstract

Значение возврата

void

void forgetInstances()

Очистить все экземпляры из контейнера.

Значение возврата

void

void flush()

Очистить контейнер от всех связей и разрешенных экземпляров.

Значение возврата

void

static Container getInstance()

Получить глобально доступный экземпляр контейнера.

Значение возврата

Container

static Container|Container setInstance(Container $container = null)

Установить общий экземпляр контейнера.

Параметры

Container $container

Значение возврата

Container|Container

bool offsetExists(string $key)

Определить, существует ли заданный индекс.

Параметры

string $key

Значение возврата

bool

mixed offsetGet(string $key)

Получить значение по заданному индексу.

Параметры

string $key

Значение возврата

mixed

void offsetSet(string $key, mixed $value)

Установить значение по заданному индексу.

Параметры

string $key
mixed $value

Значение возврата

void

void offsetUnset(string $key)

Удалить значение по заданному индексу.

Параметры

string $key

Значение возврата

void

mixed __get(string $key)

Динамический доступ к службам контейнера.

Параметры

string $key

Значение возврата

mixed

void __set(string $key, mixed $value)

Динамическое задание служб контейнера.

Параметры

string $key
mixed $value

Значение возврата

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Container/Container.html

Spec-Zone.ru

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