单例模式设置和和获取配置项
要在全局中保证读取到的值唯一,使用单例模式是较好的选择,实现代码:
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');
这样在代码中写入和读取的就是统一的内容了。