商城开发(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 ?>