当前位置:Gxlcms > PHP教程 > 关于ZendFramework中Zend_Config组件的用法

关于ZendFramework中Zend_Config组件的用法

时间:2021-07-01 10:21:17 帮助过:4人阅读

这篇文章主要介绍了Zend Framework入门教程之Zend_Config组件用法,结合实例形式分析了Zend_Config组件针对各种类型配置文件操作的相关技巧,需要的朋友可以参考下

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

1.从PHP数组中读取数据

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

案例:

  1. <?php
  2. require_once("Zend/Loader.php");
  3. Zend_Loader::loadClass('Zend_Config');
  4. $array = array(
  5. 'webhost' => '127.0.0.1',
  6. 'database'=>array(
  7. 'db_host'=>'localhost',
  8. 'db_user'=>'root',
  9. 'db_pass'=>'123',
  10. 'db_name'=>'test'
  11. )
  12. );
  13. $config = new Zend_Config($array);
  14. echo "Web服务器地址为:";
  15. echo $config->webhost;
  16. echo "<p>";
  17. echo "数据库服务器名称为:";
  18. echo $config->database->db_host;
  19. echo "<p>";
  20. echo "数据库用户名为:";
  21. echo $config->database->db_user;
  22. echo "<p>";
  23. echo "数据库密码为:";
  24. echo $config->database->db_pass;
  25. echo "<p>";
  26. echo "数据库名称为:";
  27. echo $config->database->db_name;
  28. echo "<p>";

结果:

Web服务器地址为:127.0.0.1
数据库服务器名称为:localhost
数据库用户名为:root
数据库密码为:123
数据库名称为:test

说明:

初始化Zend_Config类时,将数组中的数据直接变成$config对象的属性值了。

2.从PHP配置文件读取数据

案例:

(1)首先是配置文件,代码如下。

  1. <?php
  2. return array(
  3. 'webhost' => '127.0.0.1',
  4. 'database' => array(
  5. 'db_host' => 'localhost',
  6. 'db_user' => 'root',
  7. 'db_pass' => '123',
  8. 'db_name' => 'test'
  9. )
  10. );

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

  1. <?php
  2. require_once("Zend/Loader.php");
  3. Zend_Loader::loadClass('Zend_Config');
  4. $filename = 'config.php'; //定义配置文件名
  5. $config = new Zend_Config(require $filename); //为类实例化对象
  6. echo "Web服务器地址为:";
  7. echo $config->webhost;
  8. echo "<p>";
  9. echo "数据库服务器名称为:";
  10. echo $config->database->db_host;
  11. echo "<p>";
  12. echo "数据库用户名为:";
  13. echo $config->database->db_user;
  14. echo "<p>";
  15. echo "数据库密码为:";
  16. echo $config->database->db_pass;
  17. echo "<p>";
  18. echo "数据库名称为:";
  19. echo $config->database->db_name;
  20. echo "<p>";

说明:结果同之前的一样,只是这次读取数据是从php文件中获取的。一般需要的配置信息,无非是数据库名,用户名,密码等。

3.从ini文件中读取数据

Zend_Config组件的子类Zend_Config_Ini允许从ini配置文件中读取数据。

案例:

(1)建立一个用于被读取内容的ini配置文件,代码如下。

  1. [database]
  2. hostname = localhost
  3. database.type = mysql
  4. database.host = localhost
  5. database.user = root
  6. database.pass = 123
  7. database.name = test_ini

保存为config.ini

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

  1. <?php
  2. require_once("Zend/Loader.php");
  3. Zend_Loader::loadClass('Zend_Config_Ini');
  4. $filename = 'config.ini'; //定义配置文件名
  5. $config = new Zend_Config_Ini($filename,'database'); //为类实例化对象
  6. echo "数据库服务器名称为:";
  7. echo $config->hostname;
  8. echo "<p>";
  9. echo "数据库类型为:";
  10. echo $config->database->type;
  11. echo "<p>";
  12. echo "数据库用户名为:";
  13. echo $config->database->user;
  14. echo "<p>";
  15. echo "数据库密码为:";
  16. echo $config->database->pass;
  17. echo "<p>";
  18. echo "数据库名称为:";
  19. echo $config->database->name;
  20. echo "<p>";

说明:实例化对象之后,指定相应的参数,就可以使用配置文件中的信息了。

结果为:

数据库服务器名称为:localhost
数据库类型为:mysql
数据库用户名为:root
数据库密码为:123
数据库名称为:test_ini

4.以数组的形式调用ini中读出的数据

用toArray()方法来实现转化

案例:

  1. <?php
  2. require_once("Zend/Loader.php");
  3. Zend_Loader::loadClass('Zend_Config_Ini');
  4. $filename = 'config.ini'; //定义配置文件名
  5. $config = new Zend_Config_Ini($filename,'database'); //为类实例化对象
  6. $temp = $config->database->toArray(); //使得其中一个属性的数据转为数组,并将数据赋给变量$temp
  7. echo "数据库类型为:";
  8. echo $temp[type];
  9. echo "<p>";
  10. echo "数据库用户名为:";
  11. echo $temp[user];
  12. echo "<p>";
  13. echo "数据库密码为:";
  14. echo $temp[pass];
  15. echo "<p>";
  16. echo "数据库名称为:";
  17. echo $temp[name];
  18. echo "<p>";

结果:

数据库类型为:mysql
数据库用户名为:root
数据库密码为:123
数据库名称为:test_ini

5.从XML配置文件中读取数据

通过子类Zend_Config_Xml来实现
root element 顶级元素
section-level elements节元素
leaf elements 叶元素

案例:

(1)创建一个XML文件

  1. <?xml version = '1.0'?>
  2. <config>
  3. <production>
  4. <webhost>127.0.0.1</webhost>
  5. <database>
  6. <type>pdo_mysql</type>
  7. <host>localhost</host>
  8. <username>db_user</username>
  9. <password>db_pass</password>
  10. <name>test</name>
  11. </database>
  12. </production>
  13. <stag extends="production">
  14. <database>
  15. <host>localhost</host>
  16. <username>db_user</username>
  17. <password>db_pass</password>
  18. </database>
  19. </stag>
  20. </config>

命名为config.xml

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

  1. <?php
  2. require_once("Zend/Loader.php");
  3. Zend_Loader::loadClass('Zend_Config_Xml');
  4. $filename = 'config.xml'; //定义配置文件名
  5. $section = "stag"; //定义需要加载的节名
  6. $config = new Zend_Config_Xml($filename,$section); //为类实例化对象
  7. echo "服务器地址为:";
  8. echo $config->webhost;
  9. echo "<p>";
  10. echo "数据库类型为:";
  11. echo $config->database->type;
  12. echo "<p>";
  13. echo "数据库用户名为:";
  14. echo $config->database->username;
  15. echo "<p>";
  16. echo "数据库密码为:";
  17. echo $config->database->password;
  18. 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组件的用法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行