本文实例讲述了Zend Framework中Zend_Config组件用法。分享给大家供大家参考,具体如下:
1.从PHP数组中读取数据
使用Zend_Config_Ini(读取ini配置文件)
Zend_Config_Xml(读取XML配置文件)
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?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 = 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)首先是配置文件,代码如下。
1
2
3
4
5
6
7
8
9
10
|
<?php return array ( 'webhost' => '127.0.0.1' , 'database' => array ( 'db_host' => 'localhost' , 'db_user' => 'root' , 'db_pass' => '123' , 'db_name' => 'test' ) ); |
(2)创建读取配置的PHP文件,代码如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php require_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配置文件,代码如下。
1
2
3
4
5
6
7
|
[database] hostname = localhost database. type = mysql database.host = localhost database.user = root database.pass = 123 database.name = test_ini |
保存为config.ini
(2)建立读取配置文件内容的PHP文件,代码如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?php require_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()方法来实现转化
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php require_once ( "Zend/Loader.php" ); Zend_Loader::loadClass( 'Zend_Config_Ini' ); $filename = 'config.ini' ; //定义配置文件名 $config = new Zend_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来实现
root element 顶级元素
section-level elements节元素
leaf elements 叶元素
案例:
(1)创建一个XML文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<? 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文件,代码如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php require_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
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。