Funções de análise do tipo callable são chamadas pelas funções yaml_parse(), yaml_parse_file() ou yaml_parse_url() quando uma etiqueta YAML registrada é encontrada. A função de retorno recebe o valor da entidade etiquetada, a etiqueta e sinalizadores indicando o estilo da entidade escalar. A função deve retornar os dados que o analisador YAML deve emitir para esta entidade.
Exemplo #1 Exemplo de função de retorno de análise
<?php
/**
* Função de retorno de análise para etiquetas YAML.
* @param mixed $value Dados do arquivo YAML
* @param string $tag Etiqueta que disparou a chamada à função
* @param int $flags Estilo da entidade escalar (consulte YAML_*_SCALAR_STYLE)
* @return mixed Valor que o analisador YAML deve emitir para o valor fornecido
*/
function tag_callback ($value, $tag, $flags) {
var_dump(func_get_args()); // depuração
return "Olá, {$value}";
}
$yaml = <<<YAML
cumprimento: !exemplo/ola Mundo
YAML;
$result = yaml_parse($yaml, 0, $ndocs, array(
'!exemplo/ola' => 'tag_callback',
));
var_dump($result);
?>
O exemplo acima produzirá algo semelhante a:
array(3) { [0]=> string(5) "Mundo" [1]=> string(12) "!exemplo/ola" [2]=> int(1) } array(1) { ["cumprimento"]=> string(10) "Olá, Mundo" }