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);
}
?>