この記事では、Zend Framework の入門チュートリアルでの Zend_Config コンポーネントの使用法を主に紹介し、さまざまな種類の構成ファイルに対する Zend_Config コンポーネントの関連テクニックを例の形式で分析します。この記事
Zend Framework での Zend_Config コンポーネントの使用法について説明します。次のように、参照用に全員と共有します。
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
Save as 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
ルート要素のトップ要素
セクションレベルの要素セクション要素
リーフ要素リーフ要素
ケース:
(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>
named 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
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
Zend Framework アクション アシスタント URL の使用法について
Zend Framework での Zend_Db_Table_Rowset の使用法について
以上がZend Framework での Zend_Config コンポーネントの使用法についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。