shevegen: PHP und Yaml - Wie?

Hi.

Ich habe syck 0.55 kompiliert, sowie die php Module.
Ich nutze yaml schon seit rund einem halben Jahr für kleinere Konfigurations dateien, und es soll eine Art Ersatz für meine XML Dateien dienen (in gewissen
Bereichen). In Ruby funktioniert das alles einwandfrei.

Meine Frage, wie nutze ich eine yaml Datei in PHP?

(In Ruby ist es zB    my_yaml_file = YAML::load(File.new('/my_yaml.yaml')) )

Hat jemand ein Beispiel für PHP parat?

mfg
shev

  1. echo $begrüßung;

    Ich habe syck 0.55 kompiliert, sowie die php Module.
    Hat jemand ein Beispiel für PHP parat?

    Nach Studium der Quelltexte zu syck -- mehr "Dokumentation" habe ich nicht gefunden -- sieht es so aus, als ob die Extension eine[*] neue Funktion in PHP einbindet:

    object syck_load(string arg)

    Das heißt, aus einem YAML-String wird ein Objekt erzeugt. Also müsste das so gehen:

    $yaml = syck_load($yamlString);
      echo '<pre>';
      print_r($yaml);

    echo "$verabschiedung $name";

    [*] Es scheint auch noch mergekey_init() zu geben, deren Bedeutung mir aber nicht klar geworden ist.
    print_r(get_extension_funcs("syck")); sollte alle syck-Funktionen anzeigen.

    1. Yep, herzlichen Dank! Wie immer ein guter Ort für Hilfe.
      Habe noch ein wenig gegoogled, Problem gelöst.

      Hier ein wenig Code, der auch noch anderen evtl. helfen könnte:

      if(!extension_loaded('syck')) {  dl('syck.so');  }
      $module = 'syck';

      $functions = get_extension_funcs($module);
      echo "Functions available in the test extension:<br>\n";
      foreach($functions as $func) {
          echo $func."<br>\n";
      }
      echo "<br>\n";

      Und für den string dann ( wenn die variable $yamlString in diesem Fall auf die .yaml Datei verweist)

      print_r(syck_load( implode( '', file( $yamlString ))));