【问题标题】:In symfony, what is a bag?在 symfony 中,什么是包?
【发布时间】:2013-11-05 20:17:34
【问题描述】:

我找到了一个关于 java 上下文中什么是包的正确答案:What is meant by the term "bag"?

我做了一个谷歌搜索,发现 Symfony 提供了很多不同的“包”接口,比如这个:

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

在 symfony 中,术语 bag 是否意味着解释为相同的方式?此外,这与“容器”或“集合”有何不同。

【问题讨论】:

  • "ParameterBag 是键/值对的容器。"

标签: php oop symfony


【解决方案1】:

一个(对象的名称是ParameterBag)包含变量或参数。

collection 包含元素列表(将其视为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 的参数包是不同的,可以有不同的方法,但它们的目标是相同的。

【讨论】:

    【解决方案2】:

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

    一个包的公共操作有:clear,add,all,get,set,has,remove,resolve,resolveValue,@987654 、isResolvedescapeValueunescapedValue

    如果您想详细了解包的操作,可以在这里进行:https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多