Container
实现 ContainerInterface容器类。
自 |
1.0 |
---|---|
包 |
Joomla 框架 |
方法
__construct
DI 容器的构造函数
__construct(\Psr\Container\ContainerInterface|null parent = null) :
自 |
1.0 |
---|
参数
- 父级
ContainerInterface|null
分层容器的父级。
响应
混合
alias
为给定键创建别名以方便访问。
alias( alias, key) :
自 |
1.0 |
---|
参数
- alias
字符串
别名。- 键
字符串
要设置别名的键。
响应
$this
buildObject
构建请求类的对象
buildObject( resourceName, shared = false) : object|false
创建由 $resourceName 指定的类的实例,并注入所有依赖项。如果依赖项无法完全解析,则抛出 DependencyResolutionException。
自 |
1.0 |
---|---|
抛出 |
|
参数
- 资源名称
字符串
要构建的类名。- 共享
布尔值
如果要创建共享资源,则为真。
响应
对象|false
由 $resourceName 指定的类的实例,并注入所有依赖项。如果类存在,则返回一个对象,否则返回 false
createChild
创建一个子容器,该容器具有新的属性范围,并且能够在解析时访问父范围。
createChild() : \Joomla\DI\Container
exists
检查指定数据存储键是否存在的方法。
exists( key) :
自 |
1.0 |
---|---|
已弃用 |
3.0 使用 ContainerInterface::has() 代替 |
参数
- 键
字符串
要检查的数据存储键的名称。
响应
布尔值
成功则为真
extend
通过使用新的可调用函数包装现有的服务闭包来扩展已定义的服务闭包。
extend( resourceName, Warning: Array to string conversion in /opt/phpdoc/vendor/twig/twig/src/Extension/CoreExtension.php on line 768 |Array callable) :
这与装饰器模式非常相似。请注意,这仅适用于在当前容器中定义的服务闭包,而不是父容器。
自 |
1.0 |
---|---|
抛出 |
参数
- 资源名称
字符串
闭包或属性的唯一标识符。- 可调用
可调用
用于包装原始服务闭包的可调用函数。
响应
空
getKeys
检索分配给此容器的服务的键。
getKeys() : mixed||string|int
自 |
1.5.0 |
---|
响应
array<string|int, mixed>
getMethodArgs
构建方法参数数组。
getMethodArgs(\ReflectionMethod method) : mixed||string|int
自 |
1.0 |
---|---|
抛出 |
参数
- 方法
ReflectionMethod
要为其构建参数数组的方法。
响应
array<string|int, mixed>
要传递给方法的参数数组。
getNewInstance
强制容器返回请求的 $key 的回调结果的新实例的方法。
getNewInstance( key) :
自 |
1.0 |
---|
参数
- 键
字符串
要获取的资源键的名称。
响应
混合
为指定键运行回调的结果。
getResource
获取分配给键的原始数据。
getResource( key, bail = false) : \Joomla\DI\ContainerResource|null
自 |
2.0.0 |
---|---|
抛出 |
参数
- 键
字符串
要获取其存储项的键。- 终止
布尔值
如果未找到键,则抛出异常
响应
ContainerResource|null
如果存在,则为资源,如果指示不终止,则为 null
getTagged
获取注册到给定标记的所有服务。
getTagged( tag) : mixed||string|int
自 |
1.5.0 |
---|
参数
- tag
字符串
标记名称
响应
array<string|int, mixed>
给定标记的已解析服务
has
检查指定资源是否存在。
has( resourceName) :
自 |
1.5.0 |
---|
参数
- 资源名称
字符串
要检查的资源的名称。
响应
布尔值
如果定义了键,则为 true,否则为 false
hasFlag
检查是否设置了标志(即“共享”或“受保护”之一)
hasFlag( resourceName, method, default = true) :
isLocal
检查资源是否存储在本地
isLocal( resourceName) :
自 |
---|
参数
- 资源名称
字符串
要检查的资源的名称。
响应
布尔值
isProtected
检查资源是否受保护
isProtected( resourceName) :
自 |
2.0.0 |
---|
参数
- 资源名称
字符串
要检查的资源的名称。
响应
布尔值
protect
创建受保护键的快捷方法。
protect( key, value, shared = false) :
自 |
1.0 |
---|
参数
- 键
字符串
要设置的数据存储键的名称。- 值
混合
要运行的可调用函数或在请求指定的 $key 时要检索的字符串。- 共享
布尔值
如果要创建和存储共享实例,则为真。
响应
$this
registerServiceProvider
向容器注册服务提供程序。
registerServiceProvider(\Joomla\DI\ServiceProviderInterface provider) :
resolveAlias
解析资源名称。
resolveAlias( resourceName) :
如果资源名称是别名,则返回相应的键。如果资源名称不是别名,则返回不变的资源名称。
自 |
1.0 |
---|
参数
- 资源名称
字符串
要搜索的键。
响应
字符串
set
将资源设置为容器。如果值为 null,则移除资源。
set( key, value, shared = false, protected = false) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- 键
字符串
要设置的资源键的名称。- 值
混合
要运行的可调用函数或在请求指定的 $key 时要检索的字符串。- 共享
布尔值
如果要创建和存储共享实例,则为真。- 受保护
布尔值
如果要保护此项不被覆盖,则为真。对服务很有用。
响应
$this
tag
将标记分配给服务。
tag( tag, mixed||string|int keys) :
自 |
1.5.0 |
---|
参数
- tag
字符串
标记名称- 键
array<string|int, mixed>
要标记的服务键
响应
$this
属性
别名
保存键别名。
格式:“别名” => “键”
自 |
1.0 |
---|
类型
array<string|int, mixed>
资源
保存资源。
自 |
2.0.0 |
---|
类型
array<string|int, ContainerResource>
标签
保存服务标签映射。
自 |
1.5.0 |
---|
类型
array<string|int, mixed>