Properties

$instance

$instance : \think\Container|\Closure

容器对象实例

Type

Closure

$instances

$instances : array

容器中的对象实例

Type

array

$bind

$bind : array

容器绑定标识

Type

array

$invokeCallback

$invokeCallback : array

容器回调

Type

array

Methods

getInstance()

getInstance() : static

获取当前容器的实例(单例)

Returns

static —

setInstance()

setInstance(object|\Closure  $instance) : void

设置当前容器的实例

Parameters

object|\Closure $instance

resolving()

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

注册一个容器对象回调

Parameters

string|\Closure $abstract
\Closure|null $callback

pull()

pull(string  $abstract, array|true  $vars = [], bool  $newInstance = false) : object

获取容器中的对象实例 不存在则创建

Parameters

string $abstract

类名或者标识

array|true $vars

变量

bool $newInstance

是否每次创建新的实例

Returns

object —

get()

get(string  $abstract) : object

获取容器中的对象实例

Parameters

string $abstract

类名或者标识

Returns

object —

bind()

bind(string|array  $abstract, mixed  $concrete = null) : $this

绑定一个类、闭包、实例、接口实现到容器

Parameters

string|array $abstract

类标识、接口

mixed $concrete

要绑定的类、闭包或者实例

Returns

$this —

getAlias()

getAlias(string  $abstract) : string

根据别名获取真实类名

Parameters

string $abstract

Returns

string —

instance()

instance(string  $abstract, object  $instance) : $this

绑定一个类实例到容器

Parameters

string $abstract

类名或者标识

object $instance

类的实例

Returns

$this —

bound()

bound(string  $abstract) : bool

判断容器中是否存在类及标识

Parameters

string $abstract

类名或者标识

Returns

bool —

has()

has(string  $name) : bool

判断容器中是否存在类及标识

Parameters

string $name

类名或者标识

Returns

bool —

exists()

exists(string  $abstract) : bool

判断容器中是否存在对象实例

Parameters

string $abstract

类名或者标识

Returns

bool —

make()

make(string  $abstract, array  $vars = [], bool  $newInstance = false) : mixed

创建类的实例 已经存在则直接获取

Parameters

string $abstract

类名或者标识

array $vars

变量

bool $newInstance

是否每次创建新的实例

Returns

mixed —

delete()

delete(string  $name) : void

删除容器中的对象实例

Parameters

string $name

类名或者标识

invokeFunction()

invokeFunction(string|\Closure  $function, array  $vars = []) : mixed

执行函数或者闭包方法 支持参数调用

Parameters

string|\Closure $function

函数或者闭包

array $vars

参数

Returns

mixed —

invokeMethod()

invokeMethod(mixed  $method, array  $vars = [], bool  $accessible = false) : mixed

调用反射执行类的方法 支持参数绑定

Parameters

mixed $method

方法

array $vars

参数

bool $accessible

设置是否可访问

Returns

mixed —

invokeReflectMethod()

invokeReflectMethod(object  $instance, mixed  $reflect, array  $vars = []) : mixed

调用反射执行类的方法 支持参数绑定

Parameters

object $instance

对象实例

mixed $reflect

反射类

array $vars

参数

Returns

mixed —

invoke()

invoke(mixed  $callable, array  $vars = [], bool  $accessible = false) : mixed

调用反射执行callable 支持参数绑定

Parameters

mixed $callable
array $vars

参数

bool $accessible

设置是否可访问

Returns

mixed —

invokeClass()

invokeClass(string  $class, array  $vars = []) : mixed

调用反射执行类的实例化 支持依赖注入

Parameters

string $class

类名

array $vars

参数

Returns

mixed —

factory()

factory(string  $name, string  $namespace = '', array  ...$args) : mixed

创建工厂对象实例

Parameters

string $name

工厂类名

string $namespace

默认命名空间

array $args variadic

Returns

mixed —

__set()

__set(mixed  $name, mixed  $value) : mixed

Parameters

mixed $name
mixed $value

Returns

mixed —

__get()

__get(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

__isset()

__isset(mixed  $name) : bool

Parameters

mixed $name

Returns

bool —

__unset()

__unset(mixed  $name) : mixed

Parameters

mixed $name

Returns

mixed —

offsetExists()

offsetExists(mixed  $key) : mixed

Parameters

mixed $key

Returns

mixed —

offsetGet()

offsetGet(mixed  $key) : mixed

Parameters

mixed $key

Returns

mixed —

offsetSet()

offsetSet(mixed  $key, mixed  $value) : mixed

Parameters

mixed $key
mixed $value

Returns

mixed —

offsetUnset()

offsetUnset(mixed  $key) : mixed

Parameters

mixed $key

Returns

mixed —

count()

count() : mixed

Returns

mixed —

getIterator()

getIterator() : mixed

Returns

mixed —

invokeAfter()

invokeAfter(string  $class, object  $object) : void

执行invokeClass回调

Parameters

string $class

对象类名

object $object

容器对象实例

bindParams()

bindParams(\ReflectionFunctionAbstract  $reflect, array  $vars = []) : array

绑定参数

Parameters

\ReflectionFunctionAbstract $reflect

反射类

array $vars

参数

Returns

array —

getObjectParam()

getObjectParam(string  $className, array  $vars) : mixed

获取对象类型的参数值

Parameters

string $className

类名

array $vars

参数

Returns

mixed —