\thinkContainer

Summary

Methods
Properties
Constants
getInstance()
get()
set()
remove()
clear()
bind()
instance()
bound()
has()
make()
delete()
flush()
invokeFunction()
invokeMethod()
invokeReflectMethod()
invoke()
invokeClass()
No public properties found
No constants found
bindParams()
$instance
$instances
$bind
$name
N/A
No private methods found
No private properties found
N/A

Properties

$instance

$instance : \think\Container

容器对象实例

Type

\think\Container

$instances

$instances : array

容器中的对象实例

Type

array

$bind

$bind : array

容器绑定标识

Type

array

$name

$name : array

容器标识别名

Type

array

Methods

getInstance()

getInstance() : static

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

Returns

static

get()

get(string  $abstract, array|true  $vars = array(), boolean  $newInstance = false) : object

获取容器中的对象实例

Parameters

string $abstract

类名或者标识

array|true $vars

变量

boolean $newInstance

是否每次创建新的实例

Returns

object

set()

set(string  $abstract, mixed  $concrete = null) : \think\Container

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

Parameters

string $abstract

类标识、接口

mixed $concrete

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

Returns

\think\Container

remove()

remove(string  $abstract) : void

移除容器中的对象实例

Parameters

string $abstract

类标识、接口

clear()

clear() : void

清除容器中的对象实例

bind()

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

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

Parameters

string|array $abstract

类标识、接口

mixed $concrete

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

Returns

$this

instance()

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

绑定一个类实例当容器

Parameters

string $abstract

类名或者标识

object $instance

类的实例

Returns

$this

bound()

bound(string  $abstract) : boolean

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

Parameters

string $abstract

类名或者标识

Returns

boolean

has()

has(string  $name) : boolean

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

Parameters

string $name

类名或者标识

Returns

boolean

make()

make(string  $abstract, array|true  $vars = array(), boolean  $newInstance = false) : object

创建类的实例

Parameters

string $abstract

类名或者标识

array|true $vars

变量

boolean $newInstance

是否每次创建新的实例

Returns

object

delete()

delete(string|array  $abstract) : void

删除容器中的对象实例

Parameters

string|array $abstract

类名或者标识

flush()

flush() : void

清除容器中的对象实例

invokeFunction()

invokeFunction(mixed  $function, array  $vars = array()) : mixed

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

Parameters

mixed $function

函数或者闭包

array $vars

参数

Returns

mixed

invokeMethod()

invokeMethod(mixed  $method, array  $vars = array()) : mixed

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

Parameters

mixed $method

方法

array $vars

参数

Returns

mixed

invokeReflectMethod()

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

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

Parameters

object $instance

对象实例

mixed $reflect

反射类

array $vars

参数

Returns

mixed

invoke()

invoke(mixed  $callable, array  $vars = array()) : mixed

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

Parameters

mixed $callable
array $vars

参数

Returns

mixed

invokeClass()

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

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

Parameters

string $class

类名

array $vars

参数

Returns

mixed

bindParams()

bindParams(\ReflectionMethod|\ReflectionFunction  $reflect, array  $vars = array()) : array

绑定参数

Parameters

\ReflectionMethod|\ReflectionFunction $reflect

反射类

array $vars

参数

Returns

array