PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

パースコールバック | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

パースコールバック

パースコールバックは、 yaml_parse()yaml_parse_file() そして yaml_parse_url() 関数が、登録済みの YAML タグに遭遇したときに起動します。 コールバックに渡されるのは、タグ付けされたエンティティの値とタグ、そしてスカラーエンティティの形式を表すフラグです。 このコールバックが返すデータを使って、YAML パーサがこのエンティティを発行することになります。

例1 パースコールバックの例

<?php
/**
 * yaml タグのパース用コールバック。
 * @param mixed $value yamlファイルからのデータ
 * @param string $tag コールバックを起動したタグ
 * @param int $flags スカラーエンティティの形式 (YAML_*_SCALAR_STYLE を参照)
 * @return mixed YAML パーサが発行するための値
 */
function tag_callback ($value$tag$flags) {
  
var_dump(func_get_args()); // デバッグ用
  
return "Hello {$value}";
}

$yaml = <<<YAML
greeting: !example/hello World
YAML;

$result yaml_parse($yaml0$ndocs, array(
    
'!example/hello' => 'tag_callback',
  ));

var_dump($result);
?>

上の例の出力は、 たとえば以下のようになります。

array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「パースコールバック」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | パースコールバック」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: