mixed Config_Container::searchPath (
mixed $args
)
このメソッドは、与えられたパスを使用して 現在のコンテナから項目を探します。
このメソッドは、型が 'section'
であるオブジェクトに対してのみコール可能です。
ルートはセクション型であることに注意しましょう。
このメソッドは再帰的に働きます。
このメソッドは、必要な数のパラメータによって定義されるパスから項目を探します。
その書式は array (item1, item2, ..., itemN) となります。
配列の要素には文字列か配列が指定できます。文字列は項目の
name
として扱われ、
配列の場合は項目の 'name'
や 'attributes'
の値として扱われます。
$args
一致する項目を探す対象となる文字列あるいは配列。カンマ区切りで指定します。
見つかった項目への参照、あるいは見つからなかった場合に FALSE を返します。
This function can not be called statically.
searchPath() の使用例
<?php
// 次のような XML 設定ファイルがあるとします
// <config>
// <db>
// <user>root</user>
// <password>pass</user>
// <host>localhost</host>
// </db>
// </config>
$config = new Config();
$root =& $menuObj->parseConfig('db.xml', 'xml');
// これは、db セクションの password ディレクティブを返します
$passObj =& $root->searchPath(array('config', 'db', 'password'));
?>
属性を使用した、searchPath() のより複雑な例
<?php
// 次のような XML 設定ファイルがあるとします
// <menu>
// <group id="company">
// <page id="news"/>
// <page id="jobs"/>
// </group>
// <group id="projects">
// <page id="project1"/>
// <page id="project2"/>
// </group>
// </menu>
$menuObj = new Config();
$root =& $menuObj->parseConfig('menu.xml', 'xml');
// これは、メニュー内のコンテナで 'id' が 'projects' であるものを返します
$section =& $root->searchPath(array('menu', array('group', array('id' => 'projects'))));
// ページを取得するためにはこのようにもできます
$page =& $root->searchPath(array('menu',
array('group', array('id' => 'projects')),
array('page', array('id' => 'project2'))));
?>