这期内容当中小编将会给大家带来有关Zend_Config组件怎么在Zend Framework中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
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_Config组件怎么在Zend Framework中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。