[1]写一个存放配置文件的php文件 config.inc.php
<?php /** * Created by PhpStorm. * User: liyan * Date: 2015/6/6 * Time: 16:02 * 配置文件 */ $_CFG =array(); $_CFG['mysql']= array( 'host'=>'localhost', 'username'=>'root', 'password' => '', );
[2]用单例模式实现调用配置文件
<?php /** * Created by PhpStorm. * User: liyan * Date: 2015/6/6 * Time: 17:58 * 本类作用:操作配置文件 */ class conf{ // 声明一个变量用于存放实例化的类 protected static $ins = null; // 声明一个变量用于存放配置数据 protected static $data = array(); final protected function __construct(){ // 引入配置文件并赋值给$data变量 include_once('./config.inc.php'); self::$data = $_CFG; } // 防止外部克隆 final protected function __clone(){ } // 实例化类 public static function getIns(){ //做一下判断 if(self::$ins instanceof self){ return self::$ins; }else{ self::$ins = new self(); return self::$ins; } } // 用__get魔术方法 获取$data里面的配置数据 public function __get($key){ if(array_key_exists($key,self::$data)){ return self::$data[$key]; }else{ return null; } }
// 用__set魔术方法 动态的添加/修改配置文件 public function __set($key,$values){ self::$data[$k] = $values; }
}
【3】获取配置文件方法
$conf= conf::getIns(); //获取配置文件 print_r($conf->mysql);
//添加配置文件
$conf->sss='3213'; print_r($conf->sss);
结果如下:
Array ( [host] => localhost [username] => root [password] => ) 3213
0 Comments