当前位置:首页 > PHP教程 > PHP常见问题

Zend Framework入门教程之Zend_Config组件用法详解

本文实例讲述了zend framework中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 = 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)首先是配置文件,代码如下。

<?php return array( '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 = 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 = 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 = 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()方法来实现转化

案例:

<?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文件

<?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文件,代码如下。

<?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相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于zend framework框架的php程序设计有所帮助。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!