<?php
//自动加载配置
class Config implements ArrayAccess
{
protected $path;
protected $configs = array();//用来保存已经加载过的配置
public function __construct($path){
//path为配置文件所在目录
$this->path = $path;
}
public function offsetGet($key){
if(!isset($this->configs[$key])){
//先生成一个绝对文件的路径
$file_path = $this->path . '/' . $key . ".php";
//判断该文件是否存在
if(!file_exists($file_path)){//文件不存在,返回-1
return -1;
}
//将配置信息保存到数组中
$this->configs[$key] = require("$file_path");
}
return $this->configs[$key];
}
public function offsetSet($key, $value){
//设置数组的key
$this->configs[$key] = $value;
}
public function offsetExists($key){
//检测数组的key是否存在
return isset($this->configs[$key]);//如果存在则返回true,否则返回false
}
public function offsetUnset($key){
//删除数组的key
if(isset($this->configs[$key])){
//存在数组的key值,则删除其值,返回true值
unset($this->configs[$key]);
return true;
}else{
//不存在数组的key值,返回false值
return false;
}
}
}
//自动加载配置
class Config implements ArrayAccess
{
protected $path;
protected $configs = array();//用来保存已经加载过的配置
public function __construct($path){
//path为配置文件所在目录
$this->path = $path;
}
public function offsetGet($key){
if(!isset($this->configs[$key])){
//先生成一个绝对文件的路径
$file_path = $this->path . '/' . $key . ".php";
//判断该文件是否存在
if(!file_exists($file_path)){//文件不存在,返回-1
return -1;
}
//将配置信息保存到数组中
$this->configs[$key] = require("$file_path");
}
return $this->configs[$key];
}
public function offsetSet($key, $value){
//设置数组的key
$this->configs[$key] = $value;
}
public function offsetExists($key){
//检测数组的key是否存在
return isset($this->configs[$key]);//如果存在则返回true,否则返回false
}
public function offsetUnset($key){
//删除数组的key
if(isset($this->configs[$key])){
//存在数组的key值,则删除其值,返回true值
unset($this->configs[$key]);
return true;
}else{
//不存在数组的key值,返回false值
return false;
}
}
}