您的位置:首页 > 其它

商城开发(1)——框架准备

2013-08-16 19:41 225 查看
第一步:定义一个ROOT.'/include'文件夹,用来存放初始化框架

第二步:首先我们建立一个全局配置文件 config.inc.php

//定义一个数组
$_CFG=array();
//为数组赋值
$_CFG['host']='localhost';
$_CFG['user']='root';
$_CFG['pwd']='123456';


第三步:建立一个初始化文件 init.php

<?php
//框架开始初始化
//1.初始化成当前的绝对路径
define('ROOT',str_replace('\\','/',dirname(dirname(__FILE__))) . '/');
echo ROOT;
//2.引入db类和conf类文件
require(ROOT . 'include/db.class.php');
require(ROOT . 'include/conf.class.php');

// 3.设置报错级别
define('DEBUG',true);
if(defined('DEBUG')) {
error_reporting(E_ALL);
} else {
error_reporting(0);
}
?>


第四步:创建一个全局的配置类文件 conf.class.php

<?php
class conf{

protected static $ins=NULL;
protected $data=array();

//自动封装的内容
final protected function __construct(){

//引入配置函数config.class.php
include(ROOT."include/config.inc.php");

//将数组$_CFG赋给data
$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;

}

}

conf::getIns()

?>


第五步:创建一个数据库类函数db.class.php

<?php

//目前采用什么数据库还是不太清楚,所以用抽象类
abstract class db{

//定义一个连接的抽象方法
public abstract function connect($host,$user,$pwd);

//定义一恶搞用于查询的抽象方法
public abstract function query($sql);

//定义一个用于返回所有数据的方法
public abstract function getAll($sql);

//定义一个用于返回一行数据的方法
public abstract function getRow($sql);

//定义一个用于返回一个数据的方法
public abstract function getOne($sql);

//定义一个自动执行sql语句的抽象方法
public abstract function autoExecute($table,$data,$act='insert',$where='');

}
?>


这时已经搭建好了基本的框架,我们建立一个index.php文件测试一下。

<?php
require('./include/init.php');
echo "<br/>";
$conf=conf::getIns();
print_r($conf);
echo "<br/>";
//读取
echo $conf->host;
echo "<br/>";

//追加
$conf->template_dir='c:/phpenv/myshop';
echo "<br/>";
print_r($conf);

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: