Php 使用数据库存储配置而不是配置文件
不幸的是,搜索这种材料会给我带来很多噪音,所以我想知道这里是否有人知道一个好的资源,适合希望学习如何使用数据库来存储站点配置信息而不是文件的人 我想我感兴趣的是: 1) 如何存储数据。像e107这样的阵列?每一行都是单独的吗? 2) 如何获取配置数据。全局数组Php 使用数据库存储配置而不是配置文件,php,sql,mysql,database,configuration,Php,Sql,Mysql,Database,Configuration,不幸的是,搜索这种材料会给我带来很多噪音,所以我想知道这里是否有人知道一个好的资源,适合希望学习如何使用数据库来存储站点配置信息而不是文件的人 我想我感兴趣的是: 1) 如何存储数据。像e107这样的阵列?每一行都是单独的吗? 2) 如何获取配置数据。全局数组 每行一行,类似于EAV 当然,全局数组或对象听起来不错 考虑以下几点: 某些配置必须存储在配置文件中,除非您硬编码它,特别是如何连接到数据库 数据库不善于存储某些类型的配置数据——高度结构化的数据,或者具有不可预测或可变结构的数据——最
考虑以下几点:
- 某些配置必须存储在配置文件中,除非您硬编码它,特别是如何连接到数据库
- 数据库不善于存储某些类型的配置数据——高度结构化的数据,或者具有不可预测或可变结构的数据——最终可能会得到一个毫无意义的模式
- 在SCM系统中存储配置文件要容易得多
- 您可以在升级时简单地替换配置文件,如果需要返回,您可以回滚它。尝试对数据库表执行此操作?即使在最好的情况下,情况也会变得更困难
一旦您拥有了一个涉及web和非web服务器的基础设施,将配置放在一个可以集中访问的位置就成为了一个优势。这不一定是SQL数据库,有些人使用LDAP甚至DNS。对于用户通过web界面更改的设置,您的方法非常常见
您可以查看WordPress在数据库中存储配置的方式。类似的内容应该适合您:
CREATE TABLE `config` (
`prop` varchar(100) DEFAULT NULL,
`value` mediumtext,
UNIQUE KEY `lookup` (`lookup`)
) ENGINE=InnoDB
将密钥放入prop,将配置值放入value 我要在教堂里发誓,并谦卑地指出,两者都可以:) 您可以将配置参数存储在数据库中,然后在保存参数时生成所需的任何配置文件 这是一种冗余形式,但也有以下优点:
应用程序数据!=配置数据。一个属于数据库,另一个不属于。用户设置是另一个话题。