存储可从管理员界面配置的应用程序设置的最佳方式


Best way to store app settings that are configurable from administrator interface?

在我的应用程序的管理界面中,管理员可以更改影响应用程序的每个用户的全局应用程序设置。

但是,存储/读取这些设置的最佳方式是什么呢。

  • 从php编写配置yaml文件是一种解决方案吗?(缓存怎么样?)
  • 将其存储在数据库(MongoDB)中是最好的方法吗?(每个请求都是查询?还是在登录时序列化?)
  • 有专门为这个包的吗?(找不到)

有一个CraueConfigBundle,它添加了一个控制器和一个访问设置列表的服务。它似乎与ORM学说紧密相连:https://github.com/craue/CraueConfigBundle

IMHO,您有两个选项,1) 将它存储在文件中(我认为将其存储在parameters.yml中比配置文件更好);但在这种情况下,每次设置更改后,您都需要清理缓存;

2) 将其存储在数据库中。如果您在使用条令时遇到任何性能问题,那么您总是有可能更新getter/setter以在memcache中缓存结果。

两种方式各有优点。我更喜欢将应用程序设置与其配置选项分开。所以,如果管理员想更改全局应用程序设置,也许可以编辑parametes.yml?