包 | system.collections |
---|---|
继承 | class CConfiguration » CMap » CComponent |
实现 | Countable, ArrayAccess, Traversable, IteratorAggregate |
源自 | 1.0 |
版本 | $Id: CConfiguration.php 3458 2011-11-21 02:13:03Z alexander.makarow $ |
源码 |
CConfiguration代表基于数组的配置.
它可以用来初始化对象的属性。
配置数据可以从PHP文件加载进来。例如,
要将配置内容应用到对象,调用applyTo()。 在配置数据里面的每一个(键名 key,键值 value)对都会像这样 应用:$object->$key=$value.
由于CConfiguration继承于CMap,它可以作为一个关联数组使用。 关于其更多内容,请参考CMap。
它可以用来初始化对象的属性。
配置数据可以从PHP文件加载进来。例如,
return array( 'name'=>'My Application', 'defaultController'=>'index', );使用下面代码来加载上面的配置数据:
$config=new CConfiguration('path/to/config.php');
要将配置内容应用到对象,调用applyTo()。 在配置数据里面的每一个(键名 key,键值 value)对都会像这样 应用:$object->$key=$value.
由于CConfiguration继承于CMap,它可以作为一个关联数组使用。 关于其更多内容,请参考CMap。
公共属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
count | integer | 返回map中的项目数。 | CMap |
iterator | CMapIterator | 返回遍历这个列表的项目的迭代器。 | CMap |
keys | array | 返回键名列表 | CMap |
readOnly | boolean | 返回值说明这个列表是否为只读。默认为false。 | CMap |
公共方法
受保护方法
方法 | 描述 | 定义在 |
---|---|---|
setReadOnly() | 设置设置这个列表是否为只读 | CMap |
方法详细
__construct()
方法
public void __construct(mixed $data=NULL)
| ||
$data | mixed | 如果是字符串,它代表着配置文件(PHP文件,返回配置数组); 如果是数组,它包含配置数据。 |
public function __construct($data=null)
{
if(is_string($data))
parent::__construct(require($data));
else
parent::__construct($data);
}
构造方法。
applyTo()
方法
public void applyTo(object $object)
| ||
$object | object | 配置应用到的对象。 |
public function applyTo($object)
{
foreach($this->toArray() as $key=>$value)
$object->$key=$value;
}
将配置应用到对象。 在配置数据里面的每一个(键名key,键值value)都像这样 应用:$object->$key=$value。
loadFromFile()
方法
public void loadFromFile(string $configFile)
| ||
$configFile | string | 配置文件路径(如果使用相对路径,要小心哪个是当前路径) |
public function loadFromFile($configFile)
{
$data=require($configFile);
if($this->getCount()>0)
$this->mergeWith($data);
else
$this->copyFrom($data);
}
从文件加载配置数据并跟现有的配置合并。
配置文件一定是PHP文件,它返回配置数组(如下面的结构)
return array ( 'name'=>'My Application', 'defaultController'=>'index', );
参见
saveAsString()
方法
public string saveAsString()
| ||
{return} | string | 反映配置的字符串。 |
public function saveAsString()
{
return str_replace("\r",'',var_export($this->toArray(),true));
}
将配置保存为字符串。 这个字符串是一个反映配置数据数组的可用的PHP表达式。