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";
            }
        }
    }
    
  • 相关阅读:
    kvm基本原理
    RAID分类
    监控MySQL主从脚本
    MySQL优化
    查看某个ip地址接在交换机的哪个接口
    rsync+inotify脚本
    docker工作流程
    雅礼集训【Day6-1】字符串
    【模拟试题】困难重重
    Loj #6069. 「2017 山东一轮集训 Day4」塔
  • 原文地址:https://www.cnblogs.com/cinlap/p/9036619.html
Copyright © 2011-2022 走看看