L'émission des fonctions de rappel est invoquée lorsqu'un instance
   d'une classe enregistrée est émise via la fonction yaml_emit() ou
   la fonction yaml_emit_file(). La fonction de rappel
   reçoit l'objet à émettre. La fonction de rappel doit retourner un tableau
   contenant 2 clés :
   "tag" et "data".
   La valeur associée avec la clé "tag" doit être une
   chaîne à utiliser comme balise YAML dans la sortie. La valeur associée
   avec la clé "data" sera encodé YAML et émise
   à la place de l'objet intercepté.
  
Exemple #1 Exemple d'émission des fonctions de rappel
<?php
class EmitExample {
  public $data;    // les données peuvent être de n'importe quel type valide pecl/yaml
  public function __construct ($d) {
    $this->data = $d;
  }
  /**
   * Yaml émet une fonction de rappel, référencée par un appel à yaml_emit par le nom de la classe
   *
   * Il est attendu de retourner un tableau contenant 2 valeurs :
   *   - 'tag': balise personnalisée pour cette linéarisation
   *   - 'data': valeur à convertir en yaml (array, string, bool, number)
   *
   * @param object $obj Objet à émettre
   * @return array Balise et données associées à émettre
   */
  public static function yamlEmit (EmitExample $obj) {
    return array(
      'tag' => '!example/emit',
      'data' => $obj->data,
    );
  }
}
$emit_callbacks = array(
  'EmitExample' => array('EmitExample', 'yamlEmit')
);
$t = new EmitExample(array('a','b','c'));
$yaml = yaml_emit(
  array(
    'example' => $t,
  ),
  YAML_ANY_ENCODING,
  YAML_ANY_BREAK,
  $emit_callbacks
);
var_dump($yaml);
?>
Résultat de l'exemple ci-dessus est similaire à :
string(43) "--- example: !example/emit - a - b - c ... "