程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 第一講商城項目搭建(第138講),第一講138

第一講商城項目搭建(第138講),第一講138

編輯:關於PHP編程

第一講商城項目搭建(第138講),第一講138


一:商城框架搭建示例圖

    二:文件存放目錄位置圖片                    三:代碼部分 index.php代碼
1 <?php
2 /**
3 用戶直接訪問的頁面
4 先加載框架初始化文件:init.php
5 */
6 require('./include/init.php');
7 $conf = conf::getIns();
8 echo $conf->host."<br/>";

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 bool
14     */
15     public abstract function connect($h,$u,$p);
16     /*
17     發送查詢
18     parms $sql 發送的sql語句
19     return mixed bool/resource
20     */
21     public abstract function query($sql);
22     /*
23     查詢多行數據
24     parms $sql select型語句
25     return array/false
26     */
27     public abstract function getAll($sql);
28     /*
29     查詢單行數據
30     parms $sql select型語句
31     return array/false
32     */
33     public abstract function getRow($sql);
34     /*
35     查詢單個數據
36     parms $sql select型語句
37     return array/false
38     */
39     public abstract function getOne($sql);
40     /*
41     自動執行insert/update語句
42     parms $sql select型語句
43     return array/false
44     例如:
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."<br/>";
48 echo $conf->user."<br/>";
49 //動態追加選項
50 $conf->template_dir = "D:\LAMP\Apache2.2\htdocs\boolshop\include";
51 echo $conf->template_dir;
52 */
53 config.inc.php代碼
54 <?php
55 /**
56 file config.inc.php
57 作用:配置文件
58 */
59 $_CFG = array();
60 $_CFG['host'] = 'localhost';
61 $_CFG['user'] = 'root';
62 $_CFG['pwd'] = '123456';

 

   

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved