zoukankan      html  css  js  c++  java
  • PHP访问数据库配置通用方法

    提取一种对数据库配置的通用方式

    目的是通过通用类访问配置文件的方式,提供对数据库连接的动态获取和设置,使开发时和生产应用时都能够提供灵活的、简化的、解耦的操作方式。比如在配置文件中配置好两套数据库访问内容,一套测试库访问地址,一套生产库访问,在需要获取连接信息时,只要填入符合的参数即可

    结构

    • 工厂模式,传参,返回结果;
    • 成功返回 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";
            }
        }
    }
    
  • 相关阅读:
    Oracle经典教程学习笔记
    SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题
    sublime text3编译C/C++系统提示丢失zlib1.dll解决的方法
    上机题目(0基础)- 数据库事务(Java)
    SGU
    iOS
    iOS刷新某个cell时候crash
    nginx+tomcat反复请求
    加密学教程(Cryptography Tuturials)文件夹
    C/C++与Matlab混合编程初探
  • 原文地址:https://www.cnblogs.com/cinlap/p/9036619.html
Copyright © 2011-2022 走看看