php商城技术架构,商城架构二

这篇博客探讨了PHP框架的初始化过程,详细解析了如何通过`init.php`加载配置文件`config.inc.php`,并使用`conf.class.php`创建配置管理类。该类使用魔术方法实现动态读取和设置配置选项,确保用户访问页面前正确加载所有必要配置。
摘要由CSDN通过智能技术生成

index.php:

/*

以后所有由用户直接访问到的这些页面

都得先加载init.php

*/

require('./include/init.php');

$conf = conf::getIns();

var_dump($conf);

?>

include/config.inc.php:

/*

file.config.inc.php

配置文件

*/

$_CFG = array();

$_CFG['host'] = '127.0.0.1';

$_CFG['user'] = 'root';

$_CFG['pwd'] = '111111';

?>

include/conf.class.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:

/*

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);

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值