Zend Framework入门教程之Zend_Config组件用法详解
本文实例讲述了ZendFramework中Zend_Config组件用法。分享给大家供大家参考,具体如下:
1.从PHP数组中读取数据
使用Zend_Config_Ini(读取ini配置文件)
Zend_Config_Xml(读取XML配置文件)
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config'); $array=array( 'webhost'=>'127.0.0.1', 'database'=>array( 'db_host'=>'localhost', 'db_user'=>'root', 'db_pass'=>'123', 'db_name'=>'test' ) ); $config=newZend_Config($array); echo"Web服务器地址为:"; echo$config->webhost; echo"<p>"; echo"数据库服务器名称为:"; echo$config->database->db_host; echo"<p>"; echo"数据库用户名为:"; echo$config->database->db_user; echo"<p>"; echo"数据库密码为:"; echo$config->database->db_pass; echo"<p>"; echo"数据库名称为:"; echo$config->database->db_name; echo"<p>";
结果:
Web服务器地址为:127.0.0.1
数据库服务器名称为:localhost
数据库用户名为:root
数据库密码为:123
数据库名称为:test
说明:
初始化Zend_Config类时,将数组中的数据直接变成$config对象的属性值了。
2.从PHP配置文件读取数据
案例:
(1)首先是配置文件,代码如下。
<?php returnarray( 'webhost'=>'127.0.0.1', 'database'=>array( 'db_host'=>'localhost', 'db_user'=>'root', 'db_pass'=>'123', 'db_name'=>'test' ) );
(2)创建读取配置的PHP文件,代码如下。
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config'); $filename='config.php';//定义配置文件名 $config=newZend_Config(require$filename);//为类实例化对象 echo"Web服务器地址为:"; echo$config->webhost; echo"<p>"; echo"数据库服务器名称为:"; echo$config->database->db_host; echo"<p>"; echo"数据库用户名为:"; echo$config->database->db_user; echo"<p>"; echo"数据库密码为:"; echo$config->database->db_pass; echo"<p>"; echo"数据库名称为:"; echo$config->database->db_name; echo"<p>";
说明:结果同之前的一样,只是这次读取数据是从php文件中获取的。一般需要的配置信息,无非是数据库名,用户名,密码等。
3.从ini文件中读取数据
Zend_Config组件的子类Zend_Config_Ini允许从ini配置文件中读取数据。
案例:
(1)建立一个用于被读取内容的ini配置文件,代码如下。
[database] hostname=localhost database.type=mysql database.host=localhost database.user=root database.pass=123 database.name=test_ini
保存为config.ini
(2)建立读取配置文件内容的PHP文件,代码如下。
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config_Ini'); $filename='config.ini';//定义配置文件名 $config=newZend_Config_Ini($filename,'database');//为类实例化对象 echo"数据库服务器名称为:"; echo$config->hostname; echo"<p>"; echo"数据库类型为:"; echo$config->database->type; echo"<p>"; echo"数据库用户名为:"; echo$config->database->user; echo"<p>"; echo"数据库密码为:"; echo$config->database->pass; echo"<p>"; echo"数据库名称为:"; echo$config->database->name; echo"<p>";
说明:实例化对象之后,指定相应的参数,就可以使用配置文件中的信息了。
结果为:
数据库服务器名称为:localhost
数据库类型为:mysql
数据库用户名为:root
数据库密码为:123
数据库名称为:test_ini
4.以数组的形式调用ini中读出的数据
用toArray()方法来实现转化
案例:
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config_Ini'); $filename='config.ini';//定义配置文件名 $config=newZend_Config_Ini($filename,'database');//为类实例化对象 $temp=$config->database->toArray();//使得其中一个属性的数据转为数组,并将数据赋给变量$temp echo"数据库类型为:"; echo$temp[type]; echo"<p>"; echo"数据库用户名为:"; echo$temp[user]; echo"<p>"; echo"数据库密码为:"; echo$temp[pass]; echo"<p>"; echo"数据库名称为:"; echo$temp[name]; echo"<p>";
结果:
数据库类型为:mysql
数据库用户名为:root
数据库密码为:123
数据库名称为:test_ini
5.从XML配置文件中读取数据
通过子类Zend_Config_Xml来实现
rootelement顶级元素
section-levelelements节元素
leafelements叶元素
案例:
(1)创建一个XML文件
<?xmlversion='1.0'?> <config> <production> <webhost>127.0.0.1</webhost> <database> <type>pdo_mysql</type> <host>localhost</host> <username>db_user</username> <password>db_pass</password> <name>test</name> </database> </production> <stagextends="production"> <database> <host>localhost</host> <username>db_user</username> <password>db_pass</password> </database> </stag> </config>
命名为config.xml
(2)建立读取XML文件数据的PHP文件,代码如下。
<?php require_once("Zend/Loader.php"); Zend_Loader::loadClass('Zend_Config_Xml'); $filename='config.xml';//定义配置文件名 $section="stag";//定义需要加载的节名 $config=newZend_Config_Xml($filename,$section);//为类实例化对象 echo"服务器地址为:"; echo$config->webhost; echo"<p>"; echo"数据库类型为:"; echo$config->database->type; echo"<p>"; echo"数据库用户名为:"; echo$config->database->username; echo"<p>"; echo"数据库密码为:"; echo$config->database->password; echo"<p>";
结果:
服务器地址为:127.0.0.1
数据库类型为:pdo_mysql
数据库用户名为:db_user
数据库密码为:db_pass
更多关于zend相关内容感兴趣的读者可查看本站专题:《ZendFrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于ZendFramework框架的PHP程序设计有所帮助。