class Container implements ContainerInterface, ArrayAccess

依赖注入容器

依赖注入容器的目的为了降低代码的耦合度,提高应用的可维护性。 把组件之间的依赖,转换为对容器的依赖,通过容器 进行服务管理(创建、配置和定位)。

Properties

static ContainerInterface $instance 存储容器对象实例

Methods

__construct()

初始化容器默认实例

instance()

获取容器对象实例

set(string $id, mixed $definition)

注册一个服务到容器

setShared(string $id, mixed $definition)

注册单例服务

mixed
get(string $id, array $parameters = null)

从容器中获取一个服务

mixed
getShared(string $id, array $parameters = null)

获取单例服务

bool
has(string $id)

查询容器中是否存在某个服务

void
remove(string $id)

从服务容器中删除一个服务

void
clear()

清空容器

getService(string $id)

获取容器中的某个 Service 对象实例

getServices()

获取容器中的所有服务

offsetExists($id)

No description

offsetGet($id)

No description

offsetSet($id, $definition)

No description

offsetUnset($id)

No description

mixed
__get(string $id)

允许将服务标识作为属性名访问

Details

at line 40
__construct()

初始化容器默认实例

at line 53
static ContainerInterface instance()

获取容器对象实例

Return Value

ContainerInterface

at line 65
ServiceInterface set(string $id, mixed $definition)

注册一个服务到容器

Parameters

string $id 服务标识
mixed $definition 服务定义

Return Value

ServiceInterface

at line 79
ServiceInterface setShared(string $id, mixed $definition)

注册单例服务

Parameters

string $id 服务标识
mixed $definition 服务定义

Return Value

ServiceInterface

at line 96
mixed get(string $id, array $parameters = null)

从容器中获取一个服务

当传入未注册为服务标识的类名时,自动将类名注册为服务,并返回类实例

Parameters

string $id 服务标识|类名
array $parameters 参数

Return Value

mixed

Exceptions

InvalidArgumentException

at line 128
mixed getShared(string $id, array $parameters = null)

获取单例服务

当一个服务未被注册为单例服务,使用此方法也可以获取单例服务

Parameters

string $id 服务标识
array $parameters 参数

Return Value

mixed

at line 150
bool has(string $id)

查询容器中是否存在某个服务

Parameters

string $id 服务标识

Return Value

bool

at line 161
void remove(string $id)

从服务容器中删除一个服务

Parameters

string $id 服务标识

Return Value

void

at line 172
void clear()

清空容器

Return Value

void

at line 185
ServiceInterface getService(string $id)

获取容器中的某个 Service 对象实例

Parameters

string $id 服务标识

Return Value

ServiceInterface

Exceptions

InvalidArgumentException

at line 199
ServiceInterface[] getServices()

获取容器中的所有服务

Return Value

ServiceInterface[]

at line 206
offsetExists($id)

Parameters

$id

at line 211
offsetGet($id)

Parameters

$id

at line 216
offsetSet($id, $definition)

Parameters

$id
$definition

at line 221
offsetUnset($id)

Parameters

$id

at line 236
mixed __get(string $id)

允许将服务标识作为属性名访问

$container->someService;

Parameters

string $id 服务标识

Return Value

mixed