我找到了一个关于 java 上下文中什么是包的正确答案:术语“包”是什么意思?
我做了一个谷歌搜索,发现 Symfony 提供了很多不同的“包”接口,比如这个:
http://api.symfony.com/2.3/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.html
在 symfony 中,术语 bag 是否意味着解释为相同的方式?此外,这与“容器”或“集合”有何不同。
我找到了一个关于 java 上下文中什么是包的正确答案:术语“包”是什么意思?
我做了一个谷歌搜索,发现 Symfony 提供了很多不同的“包”接口,比如这个:
http://api.symfony.com/2.3/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.html
在 symfony 中,术语 bag 是否意味着解释为相同的方式?此外,这与“容器”或“集合”有何不同。
一个包(对象的名称是ParameterBag
)包含变量或参数。
一个集合array
包含一个元素列表(将其视为具有许多有用方法来操作值的面向对象版本)。该对象来自Doctrine 框架。Symfony 也有一个 Collection 的概念,并在其文档中进行了解释。
Container包含所有类型的对象,它有自己的 ParameterBag 对象,其参数从parameters
配置文件的键中的任何内容加载。
一个Request对象 ( $this->container->get('request')
) 也有它自己的 ParameterBag。
在代码方面,Container 的参数包和 Request 的参数包是不同的,可以有不同的方法,但它们的目标是相同的。
Abag
是 的缩写ParameterBag
。bag 是一种用于帮助存储数据的数据类型,类似于 java 中的集合。正如 Dagon 所指出的,一个包特别可以通过键/值访问值,但也有其他有用的操作。
包的公共操作是:clear
, add
, all
, get
, set
, has
, remove
, resolve
, resolveValue
, resolveString
, isResolved
, escapeValue
, 和unescapedValue
.
如果您想详细了解包的操作,可以在这里进行:https ://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php