配置文件读取类conf.class.php 单例模式应用
来源:互联网 发布:c语言图像处理程序集 编辑:程序博客网 时间:2024/06/07 20:50
在php项目开发中,数据库配置文件读写类是必须的,以前写小程序时自己也感到实例化几个数据库连接对象不好,奈何水平有限,就是没想到单例模式,知道不会用啊。
特殊性:大家都来读取这个配置文件读取类,需要保持统一性,必须做成单例模式,保证实例化出的对象的唯一性。
<?php//配置文件读写类 单例模式class conf{//声明一个静态属性来存放实例protected static $ins=null;protected $data=array();//声明一个数组 用于存放读取来的数据库类信息//首先将类的构造函数和克隆方法写死final protected function __construct(){//一次性将配置文件信息读取过来并赋给data属性,这样以后就不用管配置文件了//需要配置文件值事,直接从data属性中找即可include('../include/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();var_dump($conf);//读取选项echo $conf->host;echo '<br>';var_dump($conf->author);echo $conf->user.'<br>';//动态增加选项$conf->website='www.seoalphas.com';echo $conf->author;?>
运行结果如下:
object(conf)[1] protected 'data' => array (size=3) 'host' => string 'localhost' (length=9) 'user' => string 'root' (length=4) 'pwd' => string '123456' (length=6)localhostnullrootwww.seoalphas.com
0 0
- 配置文件读取类conf.class.php 单例模式应用
- JDOM读取XML配置文件--单例模式
- Java单例模式实例---读取配置文件
- Java单例模式实例---读取配置文件
- JAVA单例模式读取properties配置文件
- 单例模式之读取配置文件
- 单例模式读取配置文件到内存中
- 基于单例模式的配置文件读取方法
- PHP单例模式及应用实例
- php应用数据库连接中的单例模式
- php 单例模式应用-改进版
- PHP单例模式应用详解
- java单例读取配置文件
- 使用单例读取配置文件
- php在设计模式中的应用之单例模式
- Class.getResourceAsStreame 类文件读取配置文件信息
- 单例模式取配置文件
- 单例模式加载配置文件
- 我的PHP之旅
- CSS控制图片大小不变形
- 经验分享:多屏复杂动画CSS技巧三则
- PC和树莓派socket通信 控制LED
- Linux 更改mac 地址
- 配置文件读取类conf.class.php 单例模式应用
- PHP下载网页图片
- MVC vs. MVP vs. MVVM
- mvc 后台Action输出执行脚本提示框
- 【整理】Linq to Entity 动态拼接查询条件(重点是OR)
- 使用了过滤条件的 ArrayAdapter,向源数据添加或删除数据后刷新时,界面不会同步更新
- 在OpenStack里怎样配置Neutron,让虚拟机访问外网
- 指针常量与常量指针的区别[转帖]
- 解决ecshop因为动态ip问题登录后台自动退出