Container

interface Container implements ContainerInterface (View source)

Methods

bool bound(string $abstract)

Determine if the given abstract type has been bound.

void alias(string $abstract, string $alias)

Alias a type to a different name.

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

Assign a set of tags to a given binding.

iterable tagged(string $tag)

Resolve all of the bindings for a given tag.

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

Register a binding with the container.

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

Register a binding if it hasn't already been registered.

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

Register a shared binding in the container.

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

Register a shared binding if it hasn't already been registered.

void extend(string $abstract, Closure $closure)

"Extend" an abstract type in the container.

mixed instance(string $abstract, mixed $instance)

Register an existing instance as shared in the container.

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

Add a contextual binding to the container.

ContextualBindingBuilder when(string|array $concrete)

Define a contextual binding.

Closure factory(string $abstract)

Get a closure to resolve the given type from the container.

void flush()

Flush the container of all bindings and resolved instances.

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

Resolve the given type from the container.

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

Call the given Closure / class@method and inject its dependencies.

bool resolved(string $abstract)

Determine if the given abstract type has been resolved.

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

Register a new resolving callback.

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

Register a new after resolving callback.

Details

bool bound(string $abstract)

Determine if the given abstract type has been bound.

Parameters

string $abstract

Return Value

bool

void alias(string $abstract, string $alias)

Alias a type to a different name.

Parameters

string $abstract
string $alias

Return Value

void

Exceptions

LogicException

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

Assign a set of tags to a given binding.

Parameters

array|string $abstracts
array|mixed $tags

Return Value

void

iterable tagged(string $tag)

Resolve all of the bindings for a given tag.

Parameters

string $tag

Return Value

iterable

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

Register a binding with the container.

Parameters

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

Return Value

void

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

Register a binding if it hasn't already been registered.

Parameters

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

Return Value

void

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

Register a shared binding in the container.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

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

Register a shared binding if it hasn't already been registered.

Parameters

string $abstract
Closure|string|null $concrete

Return Value

void

void extend(string $abstract, Closure $closure)

"Extend" an abstract type in the container.

Parameters

string $abstract
Closure $closure

Return Value

void

Exceptions

InvalidArgumentException

mixed instance(string $abstract, mixed $instance)

Register an existing instance as shared in the container.

Parameters

string $abstract
mixed $instance

Return Value

mixed

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

Add a contextual binding to the container.

Parameters

string $concrete
string $abstract
Closure|string $implementation

Return Value

void

ContextualBindingBuilder when(string|array $concrete)

Define a contextual binding.

Parameters

string|array $concrete

Return Value

ContextualBindingBuilder

Closure factory(string $abstract)

Get a closure to resolve the given type from the container.

Parameters

string $abstract

Return Value

Closure

void flush()

Flush the container of all bindings and resolved instances.

Return Value

void

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

Resolve the given type from the container.

Parameters

string $abstract
array $parameters

Return Value

mixed

Exceptions

BindingResolutionException

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

Call the given Closure / class@method and inject its dependencies.

Parameters

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

Return Value

mixed

bool resolved(string $abstract)

Determine if the given abstract type has been resolved.

Parameters

string $abstract

Return Value

bool

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

Register a new resolving callback.

Parameters

Closure|string $abstract
Closure $callback

Return Value

void

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

Register a new after resolving callback.

Parameters

Closure|string $abstract
Closure $callback

Return Value

void

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