8.2. How PHP-DI works
PHP-DI如何工作
您想帮助改善PHP-DI吗?还是您只是好奇?这是PHP-DI工作原理的简短介绍。
全局架构
主要组件是Container
类。它由ContainerBuilder
创建,它只是一个辅助类。
从用户的角度来看,它是入口点,也是协调所有其他子组件的组件。
它的主要作用是通过 条目名称返回 条目:
$entry = $container->get('entryName');
容器实例具有以下子组件:
DefinitionSource
,它为条目名称返回具体的Definition
(通过查找子定义源)DefinitionResolver
列表,它将一个Definition
解析并返回一个值 (例如,如果Definition
是对象,DefinitionResolver
将创建它)
Definitions
definition 对条目进行了定义:
- 一个简单的值 (字符, 数字, 对象实例等):
ValueDefinition
- 工厂或可调用对象返回的值:
FactoryDefinition
- 条目别名的定义:
Reference
- 类的定义:
ObjectDefinition
- 环境变量的定义:
EnvironmentVariableDefinition
类定义描述了容器应如何创建类实例(构造函数采用的参数等)。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。