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

原创
2016-07-29 09:06:55 534浏览

一:商城框架搭建示例图

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

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

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

三:代码部分

index.php代码

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

init.php代码

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

db.class.php

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

conf.class.php代码

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

以上就介绍了第一讲商城项目搭建(第138讲),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。