Config_Container::searchPath

Config_Container::searchPath() – XPATH 風のフォーマットを使用してノードを探す

Synopsis

require_once 'Config/Container.php';

mixed Config_Container::searchPath ( mixed $args )

Description

このメソッドは、与えられたパスを使用して 現在のコンテナから項目を探します。

このメソッドは、型が 'section' であるオブジェクトに対してのみコール可能です。 ルートはセクション型であることに注意しましょう。 このメソッドは再帰的に働きます。

このメソッドは、必要な数のパラメータによって定義されるパスから項目を探します。 その書式は array (item1, item2, ..., itemN) となります。 配列の要素には文字列か配列が指定できます。文字列は項目の name として扱われ、 配列の場合は項目の 'name''attributes' の値として扱われます。

Parameter

mixed $args

一致する項目を探す対象となる文字列あるいは配列。カンマ区切りで指定します。

Return value

見つかった項目への参照、あるいは見つからなかった場合に FALSE を返します。

Note

This function can not be called statically.

Example

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'))));
?>
オブジェクトから項目を削除する (Previous) 項目の属性を設定する (Next)
Last updated: Wed, 20 Aug 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.