L'exemple de cet article décrit l'utilisation du composant Zend_Config dans Zend Framework. Partagez-le avec tout le monde pour référence, comme suit :
1. Lisez les données du tableau PHP
Utilisez Zend_Config_Ini (lire le fichier de configuration ini)
Zend_Config_Xml (lire le fichier de configuration XML)
Cas :
<?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>";
Résultat :
L'adresse du serveur Web est : 127.0.0.1
Base de données Le nom du serveur est : localhost
Le nom d'utilisateur de la base de données est : root
Le mot de passe de la base de données est : 123
Le nom de la base de données est : test
Description :
Lors de l'initialisation de la classe Zend_Config , Les données du tableau deviennent directement la valeur d'attribut de l'objet $config.
2. Lire les données du fichier de configuration PHP
Cas :
(1) Tout d'abord, le fichier de configuration, le code est le suivant.
<?php return array( 'webhost' => '127.0.0.1', 'database' => array( 'db_host' => 'localhost', 'db_user' => 'root', 'db_pass' => '123', 'db_name' => 'test' ) );
(2) Créez un fichier PHP qui lit la configuration, le code est le suivant.
<?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>";
Explication : Le résultat est le même que précédemment, sauf que cette fois les données lues sont obtenues à partir du fichier php. Les informations de configuration généralement requises ne sont rien d'autre que le nom de la base de données, le nom d'utilisateur, le mot de passe, etc.
3. Lire les données du fichier ini
Zend_Config_Ini, une sous-classe du composant Zend_Config, permet de lire les données du fichier de configuration ini.
Cas :
(1) Créez un fichier de configuration ini pour le contenu à lire, le code est le suivant.
[database] hostname = localhost database.type = mysql database.host = localhost database.user = root database.pass = 123 database.name = test_ini
Enregistrez-le sous config.ini
(2) Créez un fichier PHP qui lit le contenu du fichier de configuration. le code est le suivant.
<?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>";
Description : Après avoir instancié l'objet, spécifiez les paramètres correspondants et vous pourrez utiliser les informations contenues dans le fichier de configuration.
Le résultat est :
Le nom du serveur de base de données est : localhost
Le type de base de données est : mysql
Le nom d'utilisateur de la base de données est : root
Le mot de passe de la base de données est : 123
Base de données Le nom est : test_ini
4. Appelez les données lues dans ini sous la forme d'un tableau
Utilisez la méthode toArray() pour réaliser la conversion
Cas :
<?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>";
Résultat :
Le type de base de données est : mysql
Nom d'utilisateur de la base de données : root
Mot de passe de la base de données est : 123
Base de données Le nom est : test_ini
5 La lecture des données du fichier de configuration XML
est implémentée via la sous-classe Zend_Config_Xml
élément racine élément supérieur
section. -level elements
éléments feuille Éléments feuille
Cas :
(1) Créer un fichier 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>
nommé config .xml
(2) Créez un fichier PHP qui lit les données du fichier XML Le code est le suivant.
<?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>";
Résultat :
L'adresse du serveur est : 127.0.0.1
Le type de base de données est : pdo_mysql
Base de données nom d'utilisateur Il s'agit de : db_user
Le mot de passe de la base de données est : db_pass
J'espère que cet article sera utile à la programmation PHP de chacun basée sur le framework Zend Framework.
Pour des explications plus détaillées sur l'utilisation du composant Zend_Config dans le tutoriel d'introduction du Zend Framework, veuillez prêter attention au site Web PHP chinois !