首页 > 编程 > PHP > 正文

关于Zend Framework中Zend_Config组件的用法

2020-03-22 20:20:54
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Zend Framework入门教程之Zend_Config组件用法,结合实例形式分析了Zend_Config组件针对各种类型配置文件操作的相关技巧,需要的朋友可以参考下

本文实例讲述了Zend Framework中Zend_Config组件用法。分享给大家供大家参考,具体如下:

1.从PHP数组中读取数据

使用Zend_Config_Ini(读取ini配置文件)
Zend_Config_Xml(读取XML配置文件)

案例:

 ?phprequire_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 = new Zend_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)首先是配置文件,代码如下。

 ?phpreturn array( webhost = 127.0.0.1 , database = array( db_host = localhost , db_user = root , db_pass = 123 , db_name = test );

(2)创建读取配置的PHP文件,代码如下。

 ?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config $filename = config.php //定义配置文件名$config = new Zend_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 = localhostdatabase.type = mysqldatabase.host = localhostdatabase.user = rootdatabase.pass = 123database.name = test_ini

保存为config.ini

(2)建立读取配置文件内容的PHP文件,代码如下。

 ?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Ini $filename = config.ini //定义配置文件名$config = new Zend_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()方法来实现转化

案例:

 ?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Ini $filename = config.ini //定义配置文件名$config = new Zend_Config_Ini($filename, database //为类实例化对象$temp = $config- database- toArray(); //使得其中一个属性的数据转为数组,并将数据赋给变量$tempecho 数据库类型为: 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来实现
root element 顶级元素
section-level elements节元素
leaf elements 叶元素

案例:

(1)创建一个XML文件

 ?xml version = 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  stag extends= production  database  host localhost /host  username db_user /username  password db_pass /password  /database  /stag  /config 

命名为config.xml

(2)建立读取XML文件数据的PHP文件,代码如下。

 ?phprequire_once( Zend/Loader.php Zend_Loader::loadClass( Zend_Config_Xml $filename = config.xml //定义配置文件名$section = stag //定义需要加载的节名$config = new Zend_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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

关于Zend Framework动作助手Url的用法

关于Zend Framework中Zend_Db_Table_Rowset的用法

以上就是关于Zend Framework中Zend_Config组件的用法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表