Container

Container

class Container implements ArrayAccess, Container (View source)

Properties

array $contextual The contextual binding map.

Methods

ContextualBindingBuilder when(string $concrete)

Define a contextual binding.

bool bound(string $abstract)

Determine if the given abstract type has been bound.

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|array $abstract, Closure|string|null $concrete = null, bool $shared = false)

Register a binding with the container.

bool hasMethodBinding(string $method)

Determine if the container has a method binding.

void bindMethod(string $method, Closure $callback)

Bind a callback to resolve with Container::call.

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|array $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.

void instance(string $abstract, mixed $instance)

Register an existing instance as shared in the container.

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

Assign a set of tags to a given binding.

array tagged(array $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.

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

Wrap the given closure such that its dependencies will be injected when executed.

mixed call(callable|string $callback, array $parameters = array(), 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)

Resolve the given type with the given parameter overrides.

mixed make(string $abstract)

Resolve the given type from the container.

mixed build(string $concrete)

Instantiate a concrete instance of the given type.

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

Register a new resolving callback.

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

Register a new after resolving callback for all types.

array getBindings()

Get the container's bindings.

string getAlias(string $abstract)

Get the alias for an abstract if available.

void forgetExtenders(string $abstract)

Remove all of the extender callbacks for a given type.

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()

Set the globally available instance of the container.

static 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.

Details

ContextualBindingBuilder when(string $concrete)

Define a contextual binding.

Parameters

string $concrete

Return Value

ContextualBindingBuilder

bool bound(string $abstract)

Determine if the given abstract type has been bound.

Parameters

string $abstract

Return Value

bool

bool resolved(string $abstract)

Determine if the given abstract type has been resolved.

Parameters

string $abstract

Return Value

bool

bool isShared(string $abstract)

Determine if a given type is shared.

Parameters

string $abstract

Return Value

bool

bool isAlias(string $name)

Determine if a given string is an alias.

Parameters

string $name

Return Value

bool

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

Register a binding with the container.

Parameters

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

Return Value

void

bool hasMethodBinding(string $method)

Determine if the container has a method binding.

Parameters

string $method

Return Value

bool

void bindMethod(string $method, Closure $callback)

Bind a callback to resolve with Container::call.

Parameters

string $method
Closure $callback

Return Value

void

mixed callMethodBinding(string $method, mixed $instance)

Get the method binding for the given method.

Parameters

string $method
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

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|array $abstract, Closure|string|null $concrete = null)

Register a shared binding in the container.

Parameters

string|array $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

void instance(string $abstract, mixed $instance)

Register an existing instance as shared in the container.

Parameters

string $abstract
mixed $instance

Return Value

void

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

array tagged(array $tag)

Resolve all of the bindings for a given tag.

Parameters

array $tag

Return Value

array

void alias(string $abstract, string $alias)

Alias a type to a different name.

Parameters

string $abstract
string $alias

Return Value

void

mixed rebinding(string $abstract, Closure $callback)

Bind a new callback to an abstract's rebind event.

Parameters

string $abstract
Closure $callback

Return Value

mixed

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

Refresh an instance on the given target and method.

Parameters

string $abstract
mixed $target
string $method

Return Value

mixed

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

Wrap the given closure such that its dependencies will be injected when executed.

Parameters

Closure $callback
array $parameters

Return Value

Closure

mixed call(callable|string $callback, array $parameters = array(), 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

Closure factory(string $abstract)

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

Parameters

string $abstract

Return Value

Closure

mixed makeWith(string $abstract, array $parameters)

Resolve the given type with the given parameter overrides.

Parameters

string $abstract
array $parameters

Return Value

mixed

mixed make(string $abstract)

Resolve the given type from the container.

Parameters

string $abstract

Return Value

mixed

mixed build(string $concrete)

Instantiate a concrete instance of the given type.

Parameters

string $concrete

Return Value

mixed

Exceptions

BindingResolutionException

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

Register a new resolving callback.

Parameters

string $abstract
Closure $callback

Return Value

void

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

Register a new after resolving callback for all types.

Parameters

string $abstract
Closure $callback

Return Value

void

array getBindings()

Get the container's bindings.

Return Value

array

string getAlias(string $abstract)

Get the alias for an abstract if available.

Parameters

string $abstract

Return Value

string

Exceptions

LogicException

void forgetExtenders(string $abstract)

Remove all of the extender callbacks for a given type.

Parameters

string $abstract

Return Value

void

void forgetInstance(string $abstract)

Remove a resolved instance from the instance cache.

Parameters

string $abstract

Return Value

void

void forgetInstances()

Clear all of the instances from the container.

Return Value

void

void flush()

Flush the container of all bindings and resolved instances.

Return Value

void

static Container getInstance()

Set the globally available instance of the container.

Return Value

Container

static Container setInstance(Container $container = null)

Set the shared instance of the container.

Parameters

Container $container

Return Value

Container

bool offsetExists(string $key)

Determine if a given offset exists.

Parameters

string $key

Return Value

bool

mixed offsetGet(string $key)

Get the value at a given offset.

Parameters

string $key

Return Value

mixed

void offsetSet(string $key, mixed $value)

Set the value at a given offset.

Parameters

string $key
mixed $value

Return Value

void

void offsetUnset(string $key)

Unset the value at a given offset.

Parameters

string $key

Return Value

void

mixed __get(string $key)

Dynamically access container services.

Parameters

string $key

Return Value

mixed

void __set(string $key, mixed $value)

Dynamically set container services.

Parameters

string $key
mixed $value

Return Value

void

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

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部