config.inc.php配置文件
<?php $_CFG=array(); $_CFG['host']='localhost'; $_CFG['user']='root'; $_CFG['password']='111111'; ?>
conf.class.php读取配置文件的信息,封装类
<?php //单例类 class conf{ protected static $ins=null; protected $data=array(); final protected function __construct(){ //一次性把配置文件的数据读进来,以后再要配置,就从data中找 include('/config.inc.php'); $this->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; } } //用魔术方法读取data中的信息 public function __get($key){ if(array_key_exists($key,$this->data)){ return $this->data[$key]; }else{ return null; } } //用魔术方法,在运行期,动态增加或改变配置选项 public function __set($key,$value){ $this->data[$key]=$value; } } ?>
db.class.php操作数据库抽象类
<?php abstract class db{ /*连接服务器 params $h 服务器地址 params $u 用户名 params $p 密码 return boolean */ public abstract function connect($h,$u,$p); /* 发送查询 params $sql 发送的sql语句 return mixted boolean/resousrce */ public abstract function query($sql); /* 查询多行数据 params $sql select型语句 return array/boolean */ public abstract function getAll($sql); /* 查询单行数据 params $sql select型语句 return array/boolean */ public abstract function getRow($sql); /* 查询单个数据 params $sql select型语句 return array/boolean */ public abstract function getOne($sql); /* 自动执行insert/update语句 params $sql select型语句 return array/boolean $this->autoExecute('user',array('username'=>'zhangsan','email'=>'zhang@123.com'),'insert'); 将自动形成 insert into user (username,email) values ('zhangsan','zhang@123.com'); */ public abstract function autoExecute($table,$data,$act='insert',$where=''); } ?>
inic.php初始化
<?php //初始化当前绝对路径 // $path=substr(str_replace('\', '/', __FILE__),0,-8); $path=str_replace('\','/',dirname(dirname(__FILE__))).'/'; define('ROOT',$path); // echo ROOT; require(ROOT.'include/db.class.php'); require(ROOT.'include/conf.class.php'); //设置错误级别 define('DEBUG',true); if(defined('DEBUG')){ error_reporting(E_ALL); }else{ error_reporting(0); } ?>