在symfony,什么是包包?

时间:2013-11-05 20:17:35

标签: php oop symfony

我找到了一个关于java背景下的包的正确答案:What is meant by the term "bag"?

我进行了谷歌搜索,发现Symfony提供了许多不同的“包”界面,如下所示:

http://api.symfony.com/2.3/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.html

在symfony中,术语包是否被解释为同样的方式?另外,这与“容器”或“集合”有何不同。

2 个答案:

答案 0 :(得分:9)

bag (对象的名称为ParameterBag)包含变量或参数。

集合包含元素列表(将其视为array的面向对象版本,其中包含许多用于操作值的有用方法)。该对象来自the Doctrine framework。 Symfony也有Collection的概念,并解释in its documentation

Container包含所有类型的对象,其its own ParameterBag object的参数从配置文件的parameters键中的任何内容加载。

Request对象($this->container->get('request'))也有its own ParameterBag

代码方面,Container的参数包和Request的参数包是不同的,可能有不同的方法,但它们的目标是相同的。

答案 1 :(得分:1)

bagParameterBag的缩写。 bag是用于帮助存储数据的数据类型,类似于java中的集合。一个包特别可以通过Dagon指出的键/值访问值,但也有其他有用的操作。

行李的公开操作包括:clearaddallgetsethas,{{1 },removeresolveresolveValueresolveStringisResolvedescapeValue

如果您想详细了解行李的操作,可以在此处执行此操作:https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php