单例模式设置和和获取配置项
要在全局中保证读取到的值唯一,使用单例模式是较好的选择,实现代码:
classConfig { //声明$instance为私有静态类型,用于保存当前类实例化后的对象 privatestatic$instance=null; //数据库连接句柄 private$config=array(); //这是获取当前类对象的唯一方式 publicstaticfunctiongetInstance() { //检查对象是否已经存在,不存在则实例化后保存到$instance属性 if(self::$instance==null){ self::$instance=newself(); } returnself::$instance; } //设置配置项 publicfunctionsetConfig($key,$value) { $this->config[$key]=$value; } //获取配置项 publicfunctiongetConfig($key) { return$this->config[$key]; } //声明为私有方法,禁止外部程序使用new实例化,只能在内部new privatefunction__construct(){} //声明成私有方法,禁止克隆对象 privatefunction__clone(){} //声明成私有方法,禁止重建对象 privatefunction__wakeup(){} }
客户端使用:
$config=Config::getInstance(); $config->setConfig('name','www.awaimai.com'); echo$config->getConfig('name');
这样在代码中写入和读取的就是统一的内容了。