在哪里放置默认内容?代码还是数据库?

时间:2012-07-02 08:17:10

标签: php mysql database-design configuration

我有一个设计问题。 我们需要将一些默认的系统定义内容放入网站,但同时用户可以添加它。所以我的问题是存储默认内容的最佳位置在哪里?我们应该遵循以下原则:如果它的配置不可更改,应该与代码一起使用,还是我们应该将所有内容保存在数据库中? 一个例子:

基于regexp的验证规则。

假设我们希望用户能够选择他想要用于他的字段的验证器+他可以创建自己的验证器。但是,一些验证器将被用户“惹不起”。例如邮政编码regexp,电子邮件regexp - 开箱即用的每个用户都可以使用它们,他们不应该修改它们。

那么最佳做法是什么?在代码中保持“不可触摸”并与自定义内容的数据库返回合并,或者只保留数据库中的所有内容?

1 个答案:

答案 0 :(得分:1)

任何可配置的项都可以转到属性文件,因为它不需要修改时编译,但它纯粹是内部的

如果您将配置公开给用户,则DB将是正确的选项

为每个配置设置一个屏幕并更新表值。将来,如果要删除访问权限,只需要隐藏屏幕,但后端仍然可以使用该功能