商城架構二
index.php:
<?php
/*
以後所有由使用者直接訪問到的這些頁面
都得先載入init.php
*/
require('./include/init.php');
$conf = conf::getIns();
var_dump($conf);
?>
include/config.inc.php:
<?php
/*
file.config.inc.php
配置檔案
*/
$_CFG = array();
$_CFG['host'] = '127.0.0.1';
$_CFG['user'] = 'root';
$_CFG['pwd'] = '111111';
?>
include/conf.class.php:
<?php
/*
file conf.class.php
配置檔案讀取類
*/
class conf{
protected static $ins = null;
protected $data = array();
final protected function __construct(){
//一次性把配置檔案資訊讀過來賦給$data屬性;
//這樣以後就不再管配置檔案了;
//再要配置的值時,直接從$data屬性找;
include(ROOT . 'config.inc.php');
$this->data = $_CFG;
}
final protected function __clone(){
}
public static function getIns(){
if(self::$ins instanceof self){
return self::$ins;
}else{
self::$ins = new self();
return self::$ins;
}
}
//用魔術方法,讀取data內的資訊
public function __get($key){
if(array_key_exists($key,$this->data)){
return $this->data[$key];
}else{
return null;
}
}
//用魔術方法,在執行期間,動態增加,動態增加或改變配置選項
public function __set($key,$value){
$this->data[$key] = $value;
}
}
$conf = conf::getIns();
/*
已經能把配置檔案的資訊,讀取的自身的data屬性中儲存起來
print_r($conf);
*/
//var_dump($conf->user);//測試魔術方法__get() 讀取選項
/*
$conf->template_dir = 'D:/www/smary';//測試__set() 動態的追加選項
echo $conf->template_dir;
*/
?>
include/init.php:
<?php
/*
file init.php
作用:框架初始化
*/
//初始化當前的絕對路徑
//換成正斜線是因為win/linux都支援正斜線,而linux不支援反斜線
define('ROOT',str_replace('\\','/',dirname(__FILE__)) . '/');
define('DEBUG',true);
require(ROOT . 'db.class.php');
require(ROOT . 'conf.class.php');
//過濾引數,用遞迴的方式過濾$_GET,$_POST,$_COOKIE,暫時不會
//設定報錯級別
if(defined('DEBUG')){
error_reporting(E_ALL);
}else{
error_reporting(0);
}
?>
本文轉自 IT阿飛 51CTO部落格,原文連結:http://blog.51cto.com/itafei/1711171
相關文章
- 自營商城架構雜談架構
- 商城前端構架演變之路前端
- 新零售SaaS架構:線上商城系統架構設計架構
- 萬表商城Android架構演進Android架構
- java商城系統架構之第三篇——叢集架構搭建Java架構
- 架構師修煉之道(二)——架構?設計?架構師?架構
- 架構雜談《二》架構
- 架構師日常(二)架構
- 架構之路(二):效能架構
- 第二週 架構架構
- 大型網站技術架構(二)--架構模式網站架構模式
- wemall全棧移動商城技術架構分享全棧架構
- 手撕商城系統架構設計與實現架構
- 基礎架構遷雲二()架構
- nginx介紹(二) 架構篇Nginx架構
- Dubbo+Zookeeper(二)Dubbo架構架構
- [第二篇]——Docker 架構Docker架構
- 品讀鴻蒙HDF架構(二)鴻蒙架構
- 二、儲存架構演變架構
- ARM-V7架構(二)架構
- 大型網站技術架構(二)--大型網站架構演化網站架構
- 網上商城架構設計之表設計思路(三)架構
- vivo 商城前端架構升級—前後端分離篇前端架構後端
- vivo 全球商城:商品系統架構設計與實踐架構
- 跟著《架構探險》學輕量級微服務架構 (二)架構微服務
- 大型網站架構之:MySpace的體系架構二(轉載)網站架構
- 高併發架構的搭建(二)架構
- OPC UA 統一架構 (二)架構
- 架構學習筆記系列二架構筆記
- iOS 開發(二) MVC 架構篇iOSMVC架構
- 架構之美第二章架構
- vivo全球商城:庫存系統架構設計與實踐架構
- 新零售SaaS架構:什麼是線上商城系統?架構
- vivo 全球商城:優惠券系統架構設計與實踐架構
- Hadoop學習(二)——MapReduce\Yarn架構HadoopYarn架構
- Android 官方架構元件(二)——LiveDataAndroid架構元件LiveData
- SpringMVC詳解(二)------詳細架構SpringMVC架構
- 安卓第二夜 有趣的架構安卓架構