class Container implements ArrayAccess, Container (View source)
static protected Container | $instance | The current globally available container (if any). | |
protected bool[] | $resolved | An array of the types that have been resolved. | |
protected array[] | $bindings | The container's bindings. | |
protected Closure[] | $methodBindings | The container's method bindings. | |
protected object[] | $instances | The container's shared instances. | |
protected string[] | $aliases | The registered type aliases. | |
protected array[] | $abstractAliases | The registered aliases keyed by the abstract name. | |
protected array[] | $extenders | The extension closures for services. | |
protected array[] | $tags | All of the registered tags. | |
protected array[] | $buildStack | The stack of concretions currently being built. | |
protected array[] | $with | The parameter override stack. | |
array[] | $contextual | The contextual binding map. | |
protected array[] | $reboundCallbacks | All of the registered rebound callbacks. | |
protected Closure[] | $globalResolvingCallbacks | All of the global resolving callbacks. | |
protected Closure[] | $globalAfterResolvingCallbacks | All of the global after resolving callbacks. | |
protected array[] | $resolvingCallbacks | All of the resolving callbacks by class type. | |
protected array[] | $afterResolvingCallbacks | All of the after resolving callbacks by class type. |
ContextualBindingBuilder | when(string|array $concrete) Define a contextual binding. | |
bool | bound(string $abstract) Determine if the given abstract type has been bound. | |
has($id) {@inheritdoc} | ||
bool | resolved(string $abstract) Determine if the given abstract type has been resolved. | |
bool | isShared(string $abstract) Determine if a given type is shared. | |
bool | isAlias(string $name) Determine if a given string is an alias. | |
void | bind(string $abstract, Closure|string|null $concrete = null, bool $shared = false) Register a binding with the container. | |
Closure | getClosure(string $abstract, string $concrete) Get the Closure to be used when building a type. | |
bool | hasMethodBinding(string $method) Determine if the container has a method binding. | |
void | bindMethod(array|string $method, Closure $callback) Bind a callback to resolve with Container::call. | |
string | parseBindMethod(array|string $method) Get the method to be bound in class@method format. | |
mixed | callMethodBinding(string $method, mixed $instance) Get the method binding for the given method. | |
void | addContextualBinding(string $concrete, string $abstract, Closure|string $implementation) Add a contextual binding to 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 | 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 | removeAbstractAlias(string $searched) Remove an alias from the contextual binding alias cache. | |
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 | alias(string $abstract, string $alias) Alias a type to a different name. | |
mixed | rebinding(string $abstract, Closure $callback) Bind a new callback to an abstract's rebind event. | |
mixed | refresh(string $abstract, mixed $target, string $method) Refresh an instance on the given target and method. | |
void | rebound(string $abstract) Fire the "rebound" callbacks for the given abstract type. | |
array | getReboundCallbacks(string $abstract) Get the rebound callbacks for a given type. | |
Closure | wrap(Closure $callback, array $parameters = []) Wrap the given closure such that its dependencies will be injected when executed. | |
mixed | call(callable|string $callback, array $parameters = [], string|null $defaultMethod = null) Call the given Closure / class@method and inject its dependencies. | |
Closure | factory(string $abstract) Get a closure to resolve the given type from the container. | |
mixed | makeWith(string $abstract, array $parameters = []) An alias function name for make(). | |
mixed | make(string $abstract, array $parameters = []) Resolve the given type from the container. | |
get($id) {@inheritdoc} | ||
mixed | resolve(string $abstract, array $parameters = [], bool $raiseEvents = true) Resolve the given type from the container. | |
mixed | getConcrete(string $abstract) Get the concrete type for a given abstract. | |
Closure|string|null | getContextualConcrete(string $abstract) Get the contextual concrete binding for the given abstract. | |
Closure|string|null | findInContextualBindings(string $abstract) Find the concrete binding for the given abstract in the contextual binding array. | |
bool | isBuildable(mixed $concrete, string $abstract) Determine if the given concrete is buildable. | |
mixed | build(string $concrete) Instantiate a concrete instance of the given type. | |
array | resolveDependencies(array $dependencies) Resolve all of the dependencies from the ReflectionParameters. | |
bool | hasParameterOverride(ReflectionParameter $dependency) Determine if the given dependency has a parameter override. | |
mixed | getParameterOverride(ReflectionParameter $dependency) Get a parameter override for a dependency. | |
array | getLastParameterOverride() Get the last parameter override. | |
mixed | resolvePrimitive(ReflectionParameter $parameter) Resolve a non-class hinted primitive dependency. | |
mixed | resolveClass(ReflectionParameter $parameter) Resolve a class based dependency from the container. | |
void | notInstantiable(string $concrete) Throw an exception that the concrete is not instantiable. | |
void | unresolvablePrimitive(ReflectionParameter $parameter) Throw an exception for an unresolvable primitive. | |
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 for all types. | |
void | fireResolvingCallbacks(string $abstract, mixed $object) Fire all of the resolving callbacks. | |
void | fireAfterResolvingCallbacks(string $abstract, mixed $object) Fire all of the after resolving callbacks. | |
array | getCallbacksForType(string $abstract, object $object, array $callbacksPerType) Get all callbacks for a given type. | |
void | fireCallbackArray(mixed $object, array $callbacks) Fire an array of callbacks with an object. | |
array | getBindings() Get the container's bindings. | |
string | getAlias(string $abstract) Get the alias for an abstract if available. | |
array | getExtenders(string $abstract) Get the extender callbacks for a given type. | |
void | forgetExtenders(string $abstract) Remove all of the extender callbacks for a given type. | |
void | dropStaleInstances(string $abstract) Drop all of the stale instances and aliases. | |
void | forgetInstance(string $abstract) Remove a resolved instance from the instance cache. | |
void | forgetInstances() Clear all of the instances from the container. | |
void | flush() Flush the container of all bindings and resolved instances. | |
static Container | getInstance() Get the globally available instance of the container. | |
static Container|Container | setInstance(Container $container = null) Set the shared instance of the container. | |
bool | offsetExists(string $key) Determine if a given offset exists. | |
mixed | offsetGet(string $key) Get the value at a given offset. | |
void | offsetSet(string $key, mixed $value) Set the value at a given offset. | |
void | offsetUnset(string $key) Unset the value at a given offset. | |
mixed | __get(string $key) Dynamically access container services. | |
void | __set(string $key, mixed $value) Dynamically set container services. |
Define a contextual binding.
Determine if the given abstract type has been bound.
{@inheritdoc}
Determine if the given abstract type has been resolved.
Determine if a given type is shared.
Determine if a given string is an alias.
Register a binding with the container.
Get the Closure to be used when building a type.
Determine if the container has a method binding.
Bind a callback to resolve with Container::call.
Get the method to be bound in class@method format.
Get the method binding for the given method.
Add a contextual binding to the container.
Register a binding if it hasn't already been registered.
Register a shared binding in the container.
"Extend" an abstract type in the container.
Register an existing instance as shared in the container.
Remove an alias from the contextual binding alias cache.
Assign a set of tags to a given binding.
Resolve all of the bindings for a given tag.
Alias a type to a different name.
Bind a new callback to an abstract's rebind event.
Refresh an instance on the given target and method.
Fire the "rebound" callbacks for the given abstract type.
Get the rebound callbacks for a given type.
Wrap the given closure such that its dependencies will be injected when executed.
Call the given Closure / class@method and inject its dependencies.
Get a closure to resolve the given type from the container.
An alias function name for make().
Resolve the given type from the container.
{@inheritdoc}
Resolve the given type from the container.
Get the concrete type for a given abstract.
Get the contextual concrete binding for the given abstract.
Find the concrete binding for the given abstract in the contextual binding array.
Determine if the given concrete is buildable.
Instantiate a concrete instance of the given type.
Resolve all of the dependencies from the ReflectionParameters.
Determine if the given dependency has a parameter override.
Get a parameter override for a dependency.
Get the last parameter override.
Resolve a non-class hinted primitive dependency.
Resolve a class based dependency from the container.
Throw an exception that the concrete is not instantiable.
Throw an exception for an unresolvable primitive.
Register a new resolving callback.
Register a new after resolving callback for all types.
Fire all of the resolving callbacks.
Fire all of the after resolving callbacks.
Get all callbacks for a given type.
Fire an array of callbacks with an object.
Get the container's bindings.
Get the alias for an abstract if available.
Get the extender callbacks for a given type.
Remove all of the extender callbacks for a given type.
Drop all of the stale instances and aliases.
Remove a resolved instance from the instance cache.
Clear all of the instances from the container.
Flush the container of all bindings and resolved instances.
Get the globally available instance of the container.
Set the shared instance of the container.
Determine if a given offset exists.
Get the value at a given offset.
Set the value at a given offset.
Unset the value at a given offset.
Dynamically access container services.
Dynamically set container services.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Container/Container.html