Brauche Hilfe zu Codeschnipsel eines Parsers

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brauche Hilfe zu Codeschnipsel eines Parsers

    Hier erstmal der Code:

    PHP-Code:
    <?php
    session_start
    ();

    class 
    Page {

    var 
    $page;

    function 
    Page($template 'tpl.inc.php') {
    if (
    file_exists($template))
    $this->page join(''file($template));
    else
    die(
    "Template file $template not found.");
    }

    function 
    parse($file) {
    ob_start();
    include(
    $file);
    $buffer ob_get_contents();
    ob_end_clean();
    return 
    $buffer;
    }

    function 
    replace_tags($tags = array()) {
    if (
    sizeof($tags) > 0)
    foreach (
    $tags as $tag => $data) {
    $data = (file_exists($data)) ? $this->parse($data) : $data;
    $this->page eregi_replace('{' $tag '}'$data$this->page);
    }
    else
    die(
    'Sorry, no content in the moment here.');
    }

    function 
    output() {
    print(
    $this->page);
    }

    }
    ?>
    Ich denke ich habe alles verstanden was die Parser Klasse da tun können will
    BIs auf den Schnipsel "replace_tags" ....
    Ich meine mir ist schon klar was der macht nur versteh ich die $data = Zeile nicht.
    Bin halt Noobie und hab PHP über Nacht gelernt und "crash" halt gleich total wenn etwas unbekannt oder anders erscheint. Was hat es da mit der Zusammenführung via ? und : auf sich??
    Kann mir bitte, bitte jemand helfen, den Code in dem was er macht doch noch mal zu erklären???


    PS: Bestehende Vorkenntnisse: OOP, SESSION, String Funktionen, Template-Engines

    Vielen Dank
    MFG
    Zuletzt geändert von brüllwürfel; 19.03.2004, 14:30.
    Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

  • #2
    PHP-Code:
    $data = (file_exists($data)) ? $this->parse($data) : $data
    und
    PHP-Code:
    if (file_exists($data))
      
    $data $this->parse($data);
    else
      
    $data $data
    und (dann logischerweise)
    PHP-Code:
    if (file_exists($data))
      
    $data $this->parse($data); 
    bewirken genau das gleiche
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      ähm **kopf kratz**,

      also is ? : quasi ne PHP Schnellschreibweise für if else ??? nee...
      da hab ich jetz wat falsch verstanden, oder???

      return still confused;

      Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

      Kommentar


      • #4
        ach so danke erstmal für die schnelle Antwort


        PS: Kannst du mir bitte doch noch mal die replace funtion wie sie oben funktioniert erklären, ich glaub ich hab weniger geschnallt als ich dachte...


        Danke Dir, MFG leise gebrüllt
        Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

        Kommentar


        • #5
          nein, das is was völlig anderes, die tatsache, dass genau das selbe rauskommt ist ein bug in php
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            was von der replace funktion verstehst du denn nicht?
            was von der replace funktion verstehst du denn nicht nach lektüre der entsprechenden seiten im online-manual auf http://www.php.net/manual/de?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              verstehe, also baut der autor des scripts auf ein bug auf....
              das ist natürlich nicht so gut, wenn der bug vielleichtbehoben wird, oder?

              replace als solches versteh ich schon. wie gesagt die string funktionen sind mir geläufig.
              Also daß man mit den replace funktionen Zeichen benennt die zu ersetzen sind und das damit die Platzhalter in der tpl.php modeliert werden um den Content zu platzieren.

              Nur blicke ich auf die gesamte Funktion und versteh nicht warum nicht das replacen als solches reicht. ich glaube ich check den Zusammenhang nicht, warum die Funtkion all die kleinen Zusätze hat.

              PS: Heisst das du empfiehlst statt ? : deine oben genannte Schreibweise??


              Vielen Dank und ich hoffe ich reite nicht auf jemandens Nerven rum... (wegen => )


              MFG
              Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

              Kommentar


              • #8
                himmelherrgottsackzefixarschundzwirnundauchnochwolkenbruch

                es ist natürlich kein bug
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  ääääähm...... bitte?

                  Schon meine Signatur gelesen

                  Als irgendwie bin ich seid ich PHP lerne auf mich selbst gestellt. Seid Drei Monaten kämpf ich mich durch das Manual plus 10000 Tutorials und kapiers Stück für Stück. Und immer wenn ich denke: "da steckt jetz der Wurm im Kopf, frag doch mal die Jungs," - dann bin ich am Ende doch wieder darauf angewiesen, es selbst zu entknoten....

                  jetz bin ich noch verwirrter als vorher. wenn jeder alles schnallen würde, wozu dann ein Forum ??

                  Sorry aber deine Reaktion scheint irgendwie bei mir nicht wirklich richtig interpretiert worden zu sein

                  Du sagtest: Das quasi das selbe passiert bei ?: sowie bei deiner if version ist ein bug oder hab ich Hyroglyphen auf meim Display??? Dann ist doch da ein Bug irgendwo. Meinetwegen halt am arsch der Welt, aber irgendwo muß dann ja einer sein, wenn du das Wort gegenüber einem Noobie benutzt


                  Zuletzt geändert von brüllwürfel; 19.03.2004, 14:54.
                  Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

                  Kommentar


                  • #10
                    ich sage dir, dass wurzels schreibweise und meine gepostete alternativschreibweise(n) genau das selbe bewirken und du fragst mich ernsthaft, ob wurzels schreibweise dann eine "schnellschreibweise" von meiner ist und erwartest eine nicht ironische antwort?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      OffTopic:
                      @brüllwürfel
                      du solltest mal deine humor- und ironie-sensoren auf volle leistung stellen
                      definitiv ist es kein bug und hier gibts nachschlag: http://de2.php.net/manual/de/control...ive-syntax.php
                      Kissolino.com

                      Kommentar


                      • #12
                        wer zum henker ist wurzel ??
                        Also langsam glaub ich , ich hab den Wecker überhört!!!!
                        träum ich ?????

                        Ich weiß nicht wessen schreibweise was ist! Ich versuch nur hier hilfe zu bekommen, skrament noch eins!!!!!!!!!!
                        Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

                        Kommentar


                        • #13
                          aahh! wurzel, verstehe sorry wurzel! Mein post kam zu spät
                          Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

                          Kommentar


                          • #14
                            Original geschrieben von Wurzel
                            OffTopic:
                            @brüllwürfel
                            du solltest mal deine humor- und ironie-sensoren auf volle leistung stellen
                            definitiv ist es kein bug und hier gibts nachschlag: http://de2.php.net/manual/de/control...ive-syntax.php
                            Danke für den link, geh sofort mal nachschlagen.

                            Sorry aber, ich bin seid Nächten nur am PHP enthyroglyhieren und kann nur noch Kaffee kochen, auf Klo gehen und eindeutige Aussagen analysieren, alles andere führt zum sofortigen Systemabsturz...

                            Vielen Dank Trotzdem ....

                            MFG
                            Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

                            Kommentar


                            • #15
                              habs geschnallt: => quasi so:

                              $alternative_ifelse_schleife = wenn ? dann : sonst;

                              oder

                              $alternative_ifelse_schleife = wenn ? dann : //sonst//(wenn ? dann : sonst);

                              und so weiter, richtig??? Feine Sache auf jeden Fall, da ich endlose if schleifen habe um domains auszulesen und zuzuordnen... Danke für den link

                              Wenn ich wüsste wie man im Manual auf deutsch nicht nur Funktionen sucht ohne bei Googel zu landen , wärs schneller mit dem kapiern


                              Humor kommt wieder wenn ich PHP geschnallt hab ....
                              MFG
                              Der String "Kommunikation" ist eine globale Konstante und Boolean und gibt in jedem Fall den Wert FALSE zurück.

                              Kommentar

                              Lädt...
                              X