当前位置:Gxlcms > PHP教程 > 第一讲超市项目搭建(第138讲)

第一讲超市项目搭建(第138讲)

时间:2021-07-01 10:21:17 帮助过:10人阅读

第一讲商城项目搭建(第138讲)

一:商城框架搭建示例图

二:文件存放目录位置图片

三:代码部分

index.php代码

1 php2 /**3 用户直接访问的页面4 先加载框架初始化文件:init.php5 */6 require('./include/init.php');7 $conf = conf::getIns();8 echo $conf->host."
";

init.php代码

 1 php 2 /** 3 file init.php 4 作用:框架初始化 5 */ 6 /*过滤参数,用递归的方式过滤$_GET,$_POST,$_COOKIE. 暂时放下*/ 7 /*初始化当前的绝对路径*/ 8 //换成正斜线是因为  win/linux 都支持正斜线,而linux不支持反斜线。也就是兼容性问题 9 define('ROOT', str_replace("\\", "/", dirname(__FILE__)) . '/');10 //引入数据库类和conf类文件11 require(ROOT . 'db.class.php');12 require(ROOT . 'conf.class.php');13 /*设置报告错误级别*/14 define("DEBUG",true);15 //若果DEBUG为真,说明我们开启调试模式16 if( defined('DEBUG') ){17     error_reporting(E_ALL);18 }else{19 //否则说明,我们的文件是在服务器上供用户访问,则不报错,避免安全隐患问题20     error_reporting(0);21 }

db.class.php

 1 php 2 /** 3 file db.class.php 4 作用: 数据库类 5 因为目前不知道使用什么数据库,因此我们先来写个接口 6 */ 7 abstract class db{ 8     /* 9     连接服务器10     parms $h 服务器地址11     parms $u 用户名12     parms $p 密码13     return bool14     */15     public abstract function connect($h,$u,$p);16     /*17     发送查询18     parms $sql 发送的sql语句19     return mixed bool/resource20     */21     public abstract function query($sql);22     /*23     查询多行数据24     parms $sql select型语句25     return array/false26     */27     public abstract function getAll($sql);28     /*29     查询单行数据30     parms $sql select型语句31     return array/false32     */33     public abstract function getRow($sql);34     /*35     查询单个数据36     parms $sql select型语句37     return array/false38     */39     public abstract function getOne($sql);40     /*41     自动执行insert/update语句42     parms $sql select型语句43     return array/false44     例如:45     $this->autoExecute('user',array('username'=>'zs', 'email'=>[email protected]', 'insert'));46     将自动转成:insert into user(username,email) values ('zs', [email protected]');47     */48     public abstract function autoExecute($table,$data,$act='insert',$where);49 }

conf.class.php代码

 1 php 2 /** 3 file conf.class.php 4 作用:配置文件读取类 5 */ 6 class conf{ 7     //静态属性用来存放本类实例化的对象 8     protected static $ins = null; 9     //保存读取过来的配置文件信息10     protected $data = array();11     //将conf类的构造函数保护起来,且不让继承(防止改写)12     final protected function __construct(){13         //一次性把配置文件信息读过来,赋给data属性,这样以后就不用管配置文件14         //再找配置文件信息直接找$data就可以了15         include(ROOT . 'config.inc.php');16         $this->data = $_CFG;17     }18     final protected function __clone(){19     }20     //单例模式21     public static function getIns(){22         if(self::$ins instanceof self){23             return self::$ins;24         }else{25             self::$ins = new self();26             return self::$ins;27         }28     }29     //用魔术方法,读取data属性内的信息30     public function __get($key){31         if(array_key_exists($key, $this->data)){32             return $this->data[$key];33         }else{34             return null;35         }36     }37     //在运行期间,动态增加或改变配置选项38     public function __set($key, $value){39         $this->data[$key] = $value;40     }41 }42 /*43 //测试代码44 //测试是否可以创建单例模式对象出来45 $conf = conf::getIns();46 //读取选项47 echo $conf->host."
";
48 echo $conf->user."
";
49 //动态追加选项50 $conf->template_dir = "D:\LAMP\Apache2.2\htdocs\boolshop\include";51 echo $conf->template_dir;52 */53 config.inc.php代码54 php55 /**56 file config.inc.php57 作用:配置文件58 */59 $_CFG = array();60 $_CFG['host'] = 'localhost';61 $_CFG['user'] = 'root';62 $_CFG['pwd'] = '123456';

人气教程排行