提取一种对数据库配置的通用方式
目的是通过通用类访问配置文件的方式,提供对数据库连接的动态获取和设置,使开发时和生产应用时都能够提供灵活的、简化的、解耦的操作方式。比如在配置文件中配置好两套数据库访问内容,一套测试库访问地址,一套生产库访问,在需要获取连接信息时,只要填入符合的参数即可
结构
- 工厂模式,传参,返回结果;
- 成功返回 array,否则返回 string 错误信息;
- 两个文件配合工作,一个是json格式配置文件,负责保存数据库连接内容,另一个是读取类,负责读取和检索,返回结果;
使用方式
- 定义配置文件为
db-config.json
,内容为数据库连接信息; - 读取类
db-config.php
提供公共静态访问,供上层接口调用; - 上层接口使用接口方法
$db_conf = DbConf::Conf("debug");
检索debug
为标志的数据库连接信息。如有 $db_conf 为数组格式;
见代码
{
"debug": {
"db_host": "",
"db_name": "",
"db_user": "",
"db_password": ""
}
}
<?php
class DbConf{
public static function Conf( $conf_name ){
if(empty($conf_name)){
die("Illegal parameter");
}
$from = "localhost"; // allow legal host only
if(!isset($_SERVER['HTTP_HOST']) || $_SERVER['HTTP_HOST']!=$from){
die("Unauthorized access");
}
$json_config = file_get_contents('db-config.json');
$json_data = json_decode($json_config, true);
if( array_key_exists($conf_name, $json_data)){
return $json_data[$conf_name];
}else{
return "Not Found";
}
}
}