转自:http://ifeeline.com/archives/tag/zend-framework
通过Zend_config类,Zend框架提供了写入配置数据的几种方法:
在引导文件中创建一个具有层次结构的数组。
创建已给INI文件。在处理INI文件时,框架甚至允许扩展配置节并重写键值。
使用XML文件。
使用数组的方法:
要在引导文件中添加一个配置数组,只需创建一个具有键值/数值结构的数组。还可以嵌套数值以创建具有多个层次的结构。当Zend_Config类通过数组来初始化时,将把数组的键值转换成属性,从而提供了一个非常清晰的接口。
1 | $configArray = ( |
2 | 'domain' => 'ifeeline.com' , |
3 | 'database' => array ( 'name' => 'dbname' , 'password' => 'pasword' ); |
4 | ); |
5 | $config = new Zend_Config( $configArray ); |
6 | echo $config ->database->name; |
INI方法:
INI方法和数组方法的主要区别在于INI文件可以定义重写的数据,这一特性可以被用在特定的情况下,例如在测试服务器上运行时,或者在生产服务器上运行时。这提供了一定程度的灵活性,但也会导致了很多重复,因此,Zend框架的INI格式也提供了配置节级别的扩展。
INI配置文件:
[production]
domain = ifeeline.com
database.name = dbname;
database.password = password
[staging : production]
domain = beta.ifeeline.com
database.name = stagingdb
为了使Zend_Config类知道使用哪一种设置,需要使用以下代码来实例化Zend_Config_Ini类:
1 | $config = new Zend_Config_Ini( 'config.ini' , 'staging' ); |
2 | echo $config ->database->password; |
第一个参数指向INI文件,第二个参数表示使用的配置节。
XML方法:
访问XML配置数据的方法与使用INI文件配置系统时的访问方法是相同的。
1 | $config = new Zend_Config_Xml( 'config.xml' , 'staging' ); |
2 | echo $config ->database->password; |
Zend_config_Ini 和Zend_config_Xml类第一个参数指定配置文件,一般应该是指定路径的,比如:’./application/config/config.ini’,也可以按照自己意图安排,第二个参数是使用哪个节的配置信息,第三个参数是表示是否抛出异常。