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

抛出

DependencyResolutionException如果无法构建对象(由于缺少信息)

参数

资源名称

字符串要构建的类名。

共享

布尔值如果要创建共享资源,则为真。

响应

对象|false由 $resourceName 指定的类的实例,并注入所有依赖项。如果类存在,则返回一个对象,否则返回 false

buildSharedObject

构建共享对象的便捷方法。

buildSharedObject( resourceName) : object|false

1.0

参数

资源名称

字符串要构建的类名。

响应

对象|false由 $resourceName 指定的类的实例,并注入所有依赖项。如果类存在,则返回一个对象,否则返回 false

createChild

创建一个子容器,该容器具有新的属性范围,并且能够在解析时访问父范围。

createChild() : \Joomla\DI\Container

1.0

响应

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

抛出

KeyNotFoundException

参数

资源名称

字符串闭包或属性的唯一标识符。

可调用

可调用用于包装原始服务闭包的可调用函数。

响应

get

检索资源

get( resourceName) : 

1.0

抛出

KeyNotFoundException

参数

资源名称

字符串要获取的资源的名称。

响应

混合请求的资源

getKeys

检索分配给此容器的服务的键。

getKeys() : mixed||string|int

1.5.0

响应

array<string|int, mixed>

getMethodArgs

构建方法参数数组。

getMethodArgs(\ReflectionMethod method) : mixed||string|int

1.0

抛出

DependencyResolutionException

参数

方法

ReflectionMethod要为其构建参数数组的方法。

响应

array<string|int, mixed>要传递给方法的参数数组。

getNewInstance

强制容器返回请求的 $key 的回调结果的新实例的方法。

getNewInstance( key) : 

1.0

参数

字符串要获取的资源键的名称。

响应

混合为指定键运行回调的结果。

getResource

获取分配给键的原始数据。

getResource( key,  bail = false) : \Joomla\DI\ContainerResource|null

2.0.0

抛出

KeyNotFoundException

参数

字符串要获取其存储项的键。

终止

布尔值如果未找到键,则抛出异常

响应

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) : 

2.0.0

抛出

KeyNotFoundException

参数

资源名称

字符串要检查的资源的名称。

方法

字符串要委托到的方法

默认

布尔值默认返回值

响应

布尔值

isLocal

检查资源是否存储在本地

isLocal( resourceName) : 

参数

资源名称

字符串要检查的资源的名称。

响应

布尔值

isProtected

检查资源是否受保护

isProtected( resourceName) : 

2.0.0

参数

资源名称

字符串要检查的资源的名称。

响应

布尔值

isShared

检查资源是否共享

isShared( resourceName) : 

2.0.0

参数

资源名称

字符串要检查的资源的名称。

响应

布尔值

protect

创建受保护键的快捷方法。

protect( key,  value,  shared = false) : 

1.0

参数

字符串要设置的数据存储键的名称。

混合要运行的可调用函数或在请求指定的 $key 时要检索的字符串。

共享

布尔值如果要创建和存储共享实例,则为真。

响应

$this

registerServiceProvider

向容器注册服务提供程序。

registerServiceProvider(\Joomla\DI\ServiceProviderInterface provider) : 

1.0

参数

提供程序

ServiceProviderInterface要注册的服务提供程序。

响应

$this

resolveAlias

解析资源名称。

resolveAlias( resourceName) : 

如果资源名称是别名,则返回相应的键。如果资源名称不是别名,则返回不变的资源名称。

1.0

参数

资源名称

字符串要搜索的键。

响应

字符串

set

将资源设置为容器。如果值为 null,则移除资源。

set( key,  value,  shared = false,  protected = false) : 

1.0

抛出

ProtectedKeyException如果提供的键已设置且受保护,则抛出此异常。

参数

字符串要设置的资源键的名称。

混合要运行的可调用函数或在请求指定的 $key 时要检索的字符串。

共享

布尔值如果要创建和存储共享实例,则为真。

受保护

布尔值如果要保护此项不被覆盖,则为真。对服务很有用。

响应

$this

share

创建共享键的快捷方法。

share( key,  value,  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>

父级

分层容器的父级。

实际上,这可以是任何与 PSR-11 兼容的容器,该容器由此容器装饰

1.0

类型

Container|ContainerInterface|null

标签

保存服务标签映射。

1.5.0

类型

array<string|int, mixed>