二月飞

学学更健康

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

第一步:定义一个ROOT.'/include'文件夹,用来存放初始化框架

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

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

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

 

 1 <?php
 2 //框架开始初始化
 3 //1.初始化成当前的绝对路径
 4 define('ROOT',str_replace('\\','/',dirname(dirname(__FILE__))) . '/');
 5 echo ROOT;
 6 //2.引入db类和conf类文件
 7 require(ROOT . 'include/db.class.php');
 8 require(ROOT . 'include/conf.class.php');
 9 
10 // 3.设置报错级别
11 define('DEBUG',true);
12 if(defined('DEBUG')) {
13     error_reporting(E_ALL);
14 } else {
15     error_reporting(0);
16 }
17 ?>

 

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

 1 <?php
 2 class conf{
 3 
 4    protected static $ins=NULL;
 5    protected $data=array();
 6    
 7    //自动封装的内容
 8    final protected function __construct(){
 9    
10    //引入配置函数config.class.php
11    include(ROOT."include/config.inc.php");
12    
13    //将数组$_CFG赋给data
14    $this->data=$_CFG; 
15    }
16    
17    //克隆
18    final protected function __clone(){
19    }
20 
21    //定义一个函数
22    public static function getIns(){
23    if(self::$ins instanceof self){
24    return  self::$ins;
25    }else{
26       self::$ins=new self();
27       return self::$ins;
28        }
29     }
30   
31   //用魔术方法,获取data数组内的信息
32   public function __get($key){
33   
34   if(array_key_exists($key,$this->data)){
35   
36   return $this->data[$key];
37   }else{
38     return null;
39      }
40   }
41 
42  public function __set($key,$value){
43     $this->data[$key]=$value;
44   
45  }
46 
47 }
48 
49 conf::getIns()
50 
51 ?>

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

 1 <?php
 2 
 3 //目前采用什么数据库还是不太清楚,所以用抽象类
 4 abstract class db{
 5     
 6     //定义一个连接的抽象方法
 7     public abstract function connect($host,$user,$pwd);
 8 
 9     //定义一恶搞用于查询的抽象方法
10     public abstract function query($sql);
11 
12     //定义一个用于返回所有数据的方法
13     public abstract function getAll($sql);
14 
15     //定义一个用于返回一行数据的方法
16     public abstract function getRow($sql);
17     
18     //定义一个用于返回一个数据的方法
19     public abstract function getOne($sql);
20 
21     //定义一个自动执行sql语句的抽象方法
22     public abstract function autoExecute($table,$data,$act='insert',$where='');
23 
24 }
25 ?>


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

 1 <?php
 2 require('./include/init.php');
 3 echo "<br/>";
 4 $conf=conf::getIns();
 5 print_r($conf);
 6 echo "<br/>";
 7 //读取
 8 echo $conf->host;
 9 echo "<br/>";
10 
11 //追加
12 $conf->template_dir='c:/phpenv/myshop';
13 echo "<br/>";
14 print_r($conf);
15 
16 ?>

 

 

 

 

 

posted on 2013-08-16 19:41  二月飞  阅读(239)  评论(0编辑  收藏  举报

导航