在Symfony中为公共数据存储放置数组

时间:2015-09-16 16:46:58

标签: php arrays symfony storage

我是Symfony的新手,但我很喜欢熟悉它(以及它背后的许多概念)。就我在Symfony中遇到的方式而言,MVC对我来说是一个新手。

我的问题是,如果我有一个简单的常用数据数组,我认为不一定属于数据库表,我应该在哪里存储它。它是实体吗?我应该把它存放在我应该把它放在控制器中吗?在其他地方?

我正在特别谈论美国国家阵列,我可能会用它来为下拉列表提供支持。现在我需要构建一个实体并将它们存储在数据库中,但是想知道是否有更好/更好的方法来实现这一点。

在我的程序时代,我会保留一个名为“includes / arrays.php”的文件,当我需要其中一个文件时将其拉出来。

由于

3 个答案:

答案 0 :(得分:0)

这取决于。我会选择在数据库中使用那种数据。假设您将来会有一个更新数据的后台办公室。

或者您可以使用config files。例如,在yml格式中,数组很容易定义。

答案 1 :(得分:0)

如果你想将这些数据与其他实体一起使用,例如State将连接到Adress对象,我会坚持实体,因为它使关系更容易实现和使用(我假设你使用某种ORM,例如教义)。

如果您不想将此数据与其他实体一起使用,可能您希望以某种方式将它们硬编码到所有模板中。 http://symfony.com/doc/current/cookbook/templating/global_variables.html(我以为你使用的是Twig)。

这里回答了类似的问题: Where to define static array related to an entity in symfony2 ?

答案 2 :(得分:0)

就像@foxtrot所说,任何可更改的数据都应存储在数据库中,这样您就不必在发生更改时编辑任何代码。

首先,我将为公共数据创建实体,然后在部署代码时使用Fixtures在数据库中生成条目。

这样,您允许稍后通过表单或phpMyAdmin进行编辑,但您也可以将默认值写入PHP类,这样您就不必手动将所有值都输入到数据库中。

请参阅Symfony - DoctrineFixturesBundle