class Container implements ContainerInterface, ArrayAccess

依赖注入容器

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

Properties

static ContainerInterface $instance 存储容器对象实例
array $aliases 别名列表

Methods

__construct()

初始化容器默认实例

instance()

获取容器对象实例

set(string $id, mixed $definition, bool $shared = true)

注册一个服务到容器

mixed
get(string $id, array $parameters = [])

从容器中获取一个服务

void
alias(string $alias, string $id)

为某个服务定义别名,主要用于类型提示(接口)的自动注入

string
getAliasId(string $alias)

获取某个别名对应的服务标识

bool
has(string $id)

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

void
remove(string $id)

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

void
clear()

清空容器

offsetExists($id)

No description

offsetGet($id)

No description

offsetSet($id, $definition)

No description

offsetUnset($id)

No description

mixed
__get(string $id)

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

Details

at line 47
__construct()

初始化容器默认实例

at line 60
static ContainerInterface instance()

获取容器对象实例

Return Value

ContainerInterface

at line 73
ServiceInterface set(string $id, mixed $definition, bool $shared = true)

注册一个服务到容器

Parameters

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

Return Value

ServiceInterface

at line 91
mixed get(string $id, array $parameters = [])

从容器中获取一个服务

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

Parameters

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

Return Value

mixed

at line 133
void alias(string $alias, string $id)

为某个服务定义别名,主要用于类型提示(接口)的自动注入

Parameters

string $alias
string $id 服务标识|类名

Return Value

void

at line 144
string getAliasId(string $alias)

获取某个别名对应的服务标识

Parameters

string $alias 别名

Return Value

string

at line 163
bool has(string $id)

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

Parameters

string $id 服务标识

Return Value

bool

at line 174
void remove(string $id)

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

Parameters

string $id 服务标识

Return Value

void

at line 186
void clear()

清空容器

Return Value

void

at line 195
offsetExists($id)

Parameters

$id

at line 200
offsetGet($id)

Parameters

$id

at line 205
offsetSet($id, $definition)

Parameters

$id
$definition

at line 210
offsetUnset($id)

Parameters

$id

at line 225
mixed __get(string $id)

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

$container->someService;

Parameters

string $id 服务标识

Return Value

mixed