This article mainly introduces the usage of the Zend_Config component in the Zend Framework introductory tutorial, and analyzes the related techniques of the Zend_Config component for various types of configuration files in the form of examples. Friends in need can refer to the examples of 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 is: 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 to read 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>";
Note: 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 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 and specifying the corresponding parameters, 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
The database name is: test_ini
4. Call the data read from 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. Reading data from the XML configuration file
Achieved through the subclass Zend_Config_Xml
root element top element
section-level elements section elements
leaf elements leaf elements
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>
named 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
The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
About the usage of Zend Framework action assistant Url
About the usage of Zend_Db_Table_Rowset in Zend Framework
The above is the detailed content of About the usage of Zend_Config component in Zend Framework. For more information, please follow other related articles on the PHP Chinese website!