Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Volker Schukai
    @volker_schukai_twitter
    Über den XML-Parser lassen sich eigene Nodestrukturen aufbauen
    Volker Schukai
    @volker_schukai_twitter
    $xml=<<<EOF
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <entries>
      <entry>Inhalt1</entry>
      <entry>Inhalt2</entry>
      <entry>Inhalt3</entry>
    </entries>
    EOF;
    
    // Zeichenkette in XML umwandeln
    $doc=new \Alvine\Xml\Document($xml);
    
    // Erste Ebene (entries-Tag)
    $entries=$doc->getChildren();
    
    // Kinder des entries-Tag
    $listOfEntry=$entries->getChildren();
    
    // Durch die entry-Tags iterieren
    foreach($listOfEntry AS $entry) {
        echo (string) $entry->getValue()."\n";
    }
    Volker Schukai
    @volker_schukai_twitter
    namespace My\Name\Space;
    
    class Stichwort extends \Alvine\Xml\Element {
    
    }
    Dadurch lassen sich dann Nodes mit dem entsprechenden Namensraum generieren
    $parser=new \Alvine\Xml\Parser;
    $parser->addSearchNamespace('\\My\\Name\\Space');
    $doc=$parser->parseXML($xml);
    
    $node=$doc->getChildren()->getChildren()
        ->find(new \Alvine\Types\Node\Constraint\Name('stichwort'))->current();
    echo $node->getClass();
    // -> \My\Name\Space\Stichwort
    Volker Schukai
    @volker_schukai_twitter
    Mit der folgenden Funktion lassen sich Millimeter abbilden
    echo (string) \Alvine\Measure\MetricPrefix::milli(\Alvine\Measure\SI::METER());
    // -> (m)/1000
    Man kann das auch noch schöner darstellen
    echo (string) (\Alvine\Measure\MetricPrefix::milli(\Alvine\Measure\SI::METER()))
        ->alternate(\Alvine\Measure\SI::MILLIMETER);
    // -> mm
    Oder gleich die Standardfunktion nehmen
    echo (string) \Alvine\Measure\SI::millimeter();
    // -> mm