【问题标题】:PHP Project : How to handle general configuration data? [closed]PHP 项目:如何处理一般配置数据? [关闭]
【发布时间】:2013-08-30 12:12:54
【问题描述】:

我目前正在开始构思一个将使用 Zend Framework 2 或 Symfony 2 的新项目。

由于我是数据建模和应用程序概念方面的新手,我目前想知道如何处理不会链接到我的实体的一般配置数据。例如,我有常量、数字,甚至可能是文本和媒体,它们应该可以通过管理进行配置,并且涉及整个应用程序,但这与我的模型数据无关(例如,产品的最高价格,一些通用的范围等。我根本不知道如何存储)。 那么,我应该:

  • 创建一个“参数”表或相关的东西,以存储我的应用程序的所有全局参数?
  • 使用 INI 文件或 YML 文件(如在 Symfony 中,如果我最终使用这个文件)来存储我的参数?如果是这样,如何处理它们?最佳做法是什么?
  • 该任务有更好的解决方案吗?

我发现的唯一可能性是使用 Symfony,使用 config.yml 文件或通常的 YML 文件来存储我的一般配置。但是这种存储的最佳实践是什么?如何安全地管理它们?

我希望这个问题不要太笼统。

谢谢。

【问题讨论】:

    标签: php symfony database-design conceptual


    【解决方案1】:

    就我个人而言,对于我的大多数大型项目,我同时使用文件和数据库解决方案(我知道很多人都这样做)。

    • 数据库中的配置表,用于存储可以通过 CMS/管理面板配置的所有参数。
    • 一个更大的 INI / YAML 文件,用于保留应用程序的基本配置。
    • 用于模块/功能/路由等的许多较小的 INI/YAML 文件。

    这些 INI / YAML 文件不受代码版本控制,很少更改并被缓存。

    为了在代码中获取这些值,我只使用了一个 ConfigManager 类,其优先级如数据库值 -> 部分文件值(取决于模块等)-> 主文件值。

    附: YAML(Symfony 原生)非常好,如果我已经实现了,我不会将其更改为 INI。

    【讨论】:

    • 感谢您的回答。您基本上是在所有项目中使用此指南,还是主要在 Symfony 项目中使用?
    猜你喜欢
    • 2022-10-14
    • 2019-04-25
    • 2012-11-14
    • 2013-05-04
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 2013-05-10
    • 2019-08-19
    相关资源
    最近更新 更多