この記事の例では、Zend Framework での Zend_Config_Xml の使用法について説明します。以下のように、参照用に全員と共有してください:
Zend_Config_Xml を使用すると、開発者は構成データを単純な XML 形式で保存し、埋め込まれたオブジェクト属性構文を通じてそれを読み取ることができます。
XML ファイルのルート要素は無関係であり、任意に名前を付けることができます。最上位の XML 要素は構成データのセクションに対応します。
XML 形式は、セクションレベルの要素の下に XML 要素を埋め込むことで階層構造をサポートします。
リーフレベルのXML要素は構成データの値に対応します。セクションの継承は、extends と呼ばれる特別な XML 属性を通じてサポートされており、この属性の対応する値は拡張セクションを通じて継承されます。文字列から他の型へのデータの変換は、開発者が特定のニーズに合わせて調整する必要があります。
例: Zend_Config_Xml の使用
この例では、INI ファイルから構成データをロードするための Zend_Config_Xml の基本的な使用法を示します。この例には、実稼働システムとステージング システムの構成データがあります。開発システムの構成データは実稼働システムの構成データに似ているため、開発システムのセクションは実稼働システムのセクションを継承します。この場合、決定は任意であり、実稼働システム セクションが開発システム セクションから継承するという逆の方法で行うこともできますが、これはより複雑な場合には不可能です。次に、次の構成データが /path/to/config.xml に含まれていると仮定します。
<?xml version="1.0"?> <configdata> <production> <webhost>www.example.com</webhost> <database> <adapter>pdo_mysql</adapter> <params> <host>db.example.com</host> <username>dbuser</username> <password>secret</password> <dbname>dbname</dbname> </params> </database> </production> <staging extends="production"> <database> <params> <host>dev.example.com</host> <username>devuser</username> <password>devsecret</password> </params> </database> </staging> </configdata>
次に、開発者が XML ファイルから開発構成データを取得する必要があると仮定します。これは非常に簡単で、XML ファイルと開発システム セクションを指定してデータをロードするだけです:
$config = new Zend_Config_Xml('/path/to/config.xml', 'staging'); echo $config->database->params->host; // 输出 "dev.example.com" echo $config->database->params->dbname; // 输出 "dbname"
例: Zend_Config_Xml でのタグ属性の使用
Zend_Config_Xml は、構成ファイル ノードで定義された他の 2 つのメソッドもサポートしています。それらはすべてプロパティを利用します。 extends 属性と value 属性は予約されたキーワードであるため (後者は属性を使用する 2 番目の方法です)、使用できない場合があります。 属性を使用する最初の方法は、属性を親ノードに追加し、それ自体が子ノードになります:
<?xml version="1.0"?> <configdata> <production webhost="www.example.com"> <database adapter="pdo_mysql"> <params host="db.example.com" username="dbuser" password="secret" dbname="dbname"/> </database> </production> <staging extends="production"> <database> <params host="dev.example.com" username="devuser" password="devsecret"/> </database> </staging> </configdata>
もう 1 つの方法でも、設定ファイルは小さくなりませんが、メンテナンスが容易になります。タグ名を2回書く必要があります。 value 属性にその値を含む空のタグを作成できます:
<?xml version="1.0"?> <configdata> <production> <webhost>www.example.com</webhost> <database> <adapter value="pdo_mysql"/> <params> <host value="db.example.com"/> <username value="dbuser"/> <password value="secret"/> <dbname value="dbname"/> </params> </database> </production> <staging extends="production"> <database> <params> <host value="dev.example.com"/> <username value="devuser"/> <password value="devsecret"/> </params> </database> </staging> </configdata>
この記事が、Zend Framework フレームワークに基づいた PHP プログラミングを行うすべての人に役立つことを願っています。
Zend Framework チュートリアル Zend_Config_Xml の使用分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。