Container
interface Container implements ContainerInterface (View source)
Methods
Determine if the given abstract type has been bound.
Alias a type to a different name.
Assign a set of tags to a given binding.
Resolve all of the bindings for a given tag.
Register a shared binding if it hasn't already been registered.
Register an existing instance as shared in the container.
Add a contextual binding to the container.
Define a contextual binding.
Flush the container of all bindings and resolved instances.
Resolve the given type from the container.
Call the given Closure / class@method and inject its dependencies.
Determine if the given abstract type has been resolved.
Register a new after resolving callback.
Details
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|null $callback = null)
Register a new resolving callback.
Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.