The example in this article describes the usage of Zend_Config component in Zend Framework. Share it with everyone for your reference, as follows:
1. Read data from PHP array
Use Zend_Config_Ini (read ini configuration file)
Zend_Config_Xml (read XML configuration file )
Case:
<?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>";
Result:
Web server address is: 127.0.0.1
Database server name For: localhost
The database user name is: root
The database password is: 123
The database name is: test
Description:
When initializing the Zend_Config class, add it to the array The data directly becomes the attribute value of the $config object.
2. Read data from the PHP configuration file
Case:
(1) First is the configuration file, the code is as follows.
<?php return array( 'webhost' => '127.0.0.1', 'database' => array( 'db_host' => 'localhost', 'db_user' => 'root', 'db_pass' => '123', 'db_name' => 'test' ) );
(2) Create a PHP file that reads the configuration, the code is as follows.
<?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>";
Explanation: The result is the same as before, except that this time the read data is obtained from the php file. The generally required configuration information is nothing more than database name, user name, password, etc.
3. Read data from the ini file
The subclass Zend_Config_Ini of the Zend_Config component allows reading data from the ini configuration file.
Case:
(1) Create an ini configuration file for the content to be read, the code is as follows.
[database] hostname = localhost database.type = mysql database.host = localhost database.user = root database.pass = 123 database.name = test_ini
Save it as config.ini
(2) Create a PHP file that reads the contents of the configuration file. The code is as follows.
<?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>";
Note: After instantiating the object, specify the corresponding parameters, and then you can use the information in the configuration file.
The result is:
The database server name is: localhost
The database type is: mysql
The database user name is: root
The database password is: 123
Database The name is: test_ini
4. Call the data read in ini in the form of an array
Use toArray() method to achieve conversion
Case:
<?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>";
Result:
The database type is: mysql
The database user name is: root
The database password is: 123
The database name is :test_ini
5. Read data from XML configuration file
Achieved through subclass Zend_Config_Xml
root element top element
section-level elements section element
leaf elements leaf element
Case:
(1) Create an XML file
<?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>
Name it config.xml
(2) Create a PHP file that reads XML file data. The code is as follows.
<?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>";
Result:
The server address is: 127.0.0.1
The database type is: pdo_mysql
The database user name is: db_user
The database password is: db_pass
I hope this article will be helpful to everyone’s PHP programming based on the Zend Framework framework.
For more detailed explanations on the usage of the Zend_Config component in the Zend Framework introductory tutorial, please pay attention to the PHP Chinese website!