hotti: (Meinung) Programmiertechnik

Moin!

Nach einigen Startschwierigkeiten [PHP-Installation, Apache Neuinstallation, PHP-Installation und zwischendurch ein paar De-Installationen] bin ich nun auch bei PHP angekommen und hab schon ein bischen mehr als "Helo Tom" zuwege gebracht ;-)

Gleich malne Frage zu einer Anwendung, die zwei verschiedene HTML-Seiten zeigen soll (je nachdem, ob eine Session existiert):

Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren. Gibts da wer, wo das auch so macht oder spricht da was dagegen (völkerrechtliche Grundsätze... was weiß ich, bin noch neu hier)?

Vieße Grüle,
Horst Peuhapé

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  1. Hi,

    Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren.

    Das ist bei längeren statischen Inhalten eigentlich immer empfehlenswert.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Hi,

      Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren.

      Das ist bei längeren statischen Inhalten eigentlich immer empfehlenswert.

      Du machst mich fertig. Ich dachte schon, die Idee wäre von mir ;-)

      --Rolf

      1. Grüße,

        Du machst mich fertig. Ich dachte schon, die Idee wäre von mir ;-)

        hinweis - es empfielt sich sogar riesige "if"clauses u.ä., sofern die statisch sind, auszusparen XD
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
    2. Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren.

      Das ist bei längeren statischen Inhalten eigentlich immer empfehlenswert.

      Ehrlich? Das Auskommentieren von HTML? Ich stelle mir gerade eine Seite vor die "falsches Paßwort" anzeigt und im Quelltext stehen die auskommentierten user-Daten.

      1. Hi,

        Ehrlich? Das Auskommentieren von HTML?

        Wer spricht von auskommentieren?

        Ich stelle mir gerade eine Seite vor die "falsches Paßwort" anzeigt und im Quelltext stehen die auskommentierten user-Daten.

        Wer schreibt Zugangsdaten in das HTML, welches an den Client ausgeliefert wird?

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Ehrlich? Das Auskommentieren von HTML?

          Wer spricht von auskommentieren?

          hotti

          Und wie soll man seine Worte interpretieren, wenn nicht so:
          <?php if (nicht anzeigen) { echo '<!-- '; ?>
          html
          <?php if (nicht anzeigen) { echo ' -->'; ?>

          Ich stelle mir gerade eine Seite vor die "falsches Paßwort" anzeigt und im Quelltext stehen die auskommentierten user-Daten.

          Wer schreibt Zugangsdaten in das HTML, welches an den Client ausgeliefert wird?

          Ich schrieb zwar user-Daten aber egal, der, der das tut, z.B. weil der user sein Profil aufruft.

          1. Hi,

            Wer spricht von auskommentieren?

            hotti

            Stimmt, da hatte ich ihn falsch verstanden.

            Das ist natürlich in der Tat kein besonders sinnvoller Weg gewesen.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        2. hi,

          Wer schreibt Zugangsdaten in das HTML, welches an den Client ausgeliefert wird?

          Das macht ein eingefleischter Perl'er auch dann nicht, wenn er mal was in PHP macht.

          Das machen höchstens Anfänger, die noch nie was anderes gemacht haben, als mit PHP mal eben ein paar Seiten zusammenzuschustern, weils der Chef so will ;-)

          --
          Rolf
  2. Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, ...

    Warum nicht importieren.

    mfg EVA

    1. Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, ...

      Warum nicht importieren.

      Sachte sachte. Das ist erst nächste Woche dran ;-)

      Viele Grüße an Alle,
      Rolf

      --
      Lange Winterabende stehen bevor........
  3. Hi!

    Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren.

    PHP ist im Gegensatz zu Perl, bei dem man den Heredoc-Ansatz wählen würde, von Haus aus eine Template-Sprache. Es ist so designt, dass man statische Ausgaben mit PHP-Code spickt und nicht umgekehrt. Und dafür gibt es auch eine alternative Syntax für Kontrollstrukturen.

    Lo!

    1. Es ist so designt, dass man statische Ausgaben mit PHP-Code spickt und nicht umgekehrt.

      Das war ursprünglich so - "mittlerweile" steht es dem Benutzer offen, wie er PHP nutzt.

      1. Hi!

        Es ist so designt, dass man statische Ausgaben mit PHP-Code spickt und nicht umgekehrt.
        Das war ursprünglich so - "mittlerweile" steht es dem Benutzer offen, wie er PHP nutzt.

        Ich wüsste nicht, dass es ihm damals nicht offenstand, wie er es benutzt oder dass sich andererseits am grundlegenden Design etwas geändert hat. Auch wenn man es nicht wie ursprünglich geplant nutzt, muss man sich an den Gegebenheiten ortientieren und erstmal aus dem HTML-Modus rausgehen (<?php) wenn man den "anderen" Weg gehen will.

        Lo!

        1. Ich wüsste nicht, dass es ihm damals nicht offenstand, wie er es benutzt oder dass sich andererseits am grundlegenden Design etwas geändert hat.

          Natürlich stand es damals auch quasi "offen" - allerdings war PHP in seinen Anfangszeiten als Toolkit gedacht, sprich einfach ein haufen Perl-Zeug. Von einer eigenständigen objektorientierten Programmiersprache war man noch weit entfernt.

          Auch wenn man es nicht wie ursprünglich geplant nutzt, muss man sich an den Gegebenheiten ortientieren und erstmal aus dem HTML-Modus rausgehen (<?php) wenn man den "anderen" Weg gehen will.

          Welcher HTML-Modus? Du meinst wahrscheinlich den Modus, der Plaintext ausgibt - HTML muss das nicht zwangsläufig sein :)

          1. Hallo!

            Welcher HTML-Modus?

            Der Teil eines PHP-Scripts außerhalb von "<?php ... ?>" wird HTML-Bereich oder auch HTML-Modus genannt.

            Du meinst wahrscheinlich den Modus, der Plaintext ausgibt - HTML muss das nicht zwangsläufig sein :)

            Ja.

            Ciao

            GG

            --
            "If I do not seek to understand what is happening here
            - then I've got peanuts in my head!"
            (I. Hosein)
            1. oder auch HTML-Modus genannt.

              Das lese ich nicht herraus, dass etwas HTML-Modus genannt wird.

              "Das Parsen auf diese Art erlaubt Ihnen, PHP in allen möglichen Arten von unterschiedlichen Dokumenten einzubinden, [...]"

              I know.

              "In den meisten Fällen werden Sie wie im folgenden Beispiel PHP in HTML-Dokumente eingebettet finden."

              Ich finde selten PHP in HTML-Dokumente eingebettet - ich finde üblicherweise Dateien mit der Endung .php die alles mögliche ausgeben: HTML, XML, LaTeX oder PDF-Ressourcen.

              1. Hallo!

                oder auch HTML-Modus genannt.
                Das lese ich nicht herraus, dass etwas HTML-Modus genannt wird.

                Es wird durchaus auf PHP.net auch der Begriff HTML-Modus verwendet.

                Wir können den Maximalauscheidungswettbewerb für kleine trockene Beeren aber hiermit gerne schließen, mein transdanubischer Freund. Der Erkenntnisgewinn aus dieser Diskussion ist wohl eher als sparsam einzustufen;)

                GG

                --
                "If I do not seek to understand what is happening here
                - then I've got peanuts in my head!"
                (I. Hosein)
                1. Es wird durchaus auf PHP.net auch der Begriff HTML-Modus verwendet.

                  Aber nur sehr sparsam wie ich meine :) die Suche listet fast ausschließlich Treffer auf, die nicht "HTML-Modus" zeigt, sondern "HTML" und "Modus" separat :)

                  [...] mein transdanubischer Freund [...]

                  Schön gesagt - aber auf welcher Seite der Donau lebst du bzw. wo denkst du, dass ich zuhause bin :p

                  1. Hallo!

                    Es wird durchaus auf PHP.net auch der Begriff HTML-Modus verwendet.

                    Aber nur sehr sparsam wie ich meine :) die Suche listet fast ausschließlich Treffer auf, die nicht "HTML-Modus" zeigt, sondern "HTML" und "Modus" separat :)

                    Der erste Treffer paßt;) es ist IMHO durchaus nicht unüblich von HTML-Modus zu sprechen - über den Sinn läßt sich ja diskutieren.

                    [...] mein transdanubischer Freund [...]

                    Schön gesagt - aber auf welcher Seite der Donau lebst du

                    Aktuell bin ich im Ruhrgebiet, sonst zumeist in Berlin - ursprünglich komme ich aus einer Gegend weiter südwestlich.

                    »»wo denkst du, dass ich zuhause bin :p

                    Mhm ich tippe auf Steiermark... des Dialektes wegen;-)

                    Ciao

                    GG

                    --
                    "If I do not seek to understand what is happening here
                    - then I've got peanuts in my head!"
                    (I. Hosein)
                    1. Aktuell bin ich im Ruhrgebiet, sonst zumeist in Berlin - ursprünglich komme ich aus einer Gegend weiter südwestlich.

                      Dann trifft das zu - ich wohne jenseits der Donau, des Weißwurstäquators, der Mainlinie - wie auch immer :p

                      Mhm ich tippe auf Steiermark... des Dialektes wegen;-)

                      Ich bin aus Salzburg, wohnhaft in Grenznähe - sprich etwa 5 Meter fehlen mir zu Bayern :p

                      1. Hallo!

                        Aktuell bin ich im Ruhrgebiet, sonst zumeist in Berlin - ursprünglich komme ich aus einer Gegend weiter südwestlich.

                        Dann trifft das zu - ich wohne jenseits der Donau, des Weißwurstäquators, der Mainlinie - wie auch immer :p

                        Da bin ich froh, dass meine marginalen Geographiekenntnisse mich wenigstens bzgl. dies- und jenseits nicht patzen lassen.

                        Mhm ich tippe auf Steiermark... des Dialektes wegen;-)

                        Ich bin aus Salzburg, wohnhaft in Grenznähe - sprich etwa 5 Meter fehlen mir zu Bayern :p

                        Na gut;) Ich dachte wegen der 8642 ...

                        Ciao

                        GG

                        --
                        "If I do not seek to understand what is happening here
                        - then I've got peanuts in my head!"
                        (I. Hosein)
                        1. Ich bin aus Salzburg, wohnhaft in Grenznähe - sprich etwa 5 Meter fehlen mir zu Bayern :p

                          Na gut;) Ich dachte wegen der 8642 ...

                          Welche 8642? :D

                          1. Hallo!

                            Ich bin aus Salzburg, wohnhaft in Grenznähe - sprich etwa 5 Meter fehlen mir zu Bayern :p

                            Na gut;) Ich dachte wegen der 8642 ...

                            Welche 8642? :D

                            Auf der von dir hier so prominent verlinkten Site befindet sie sich.

                            GG

                            --
                            "If I do not seek to understand what is happening here
                            - then I've got peanuts in my head!"
                            (I. Hosein)
                            1. Auf der von dir hier so prominent verlinkten Site befindet sie sich.

                              Achso - im Impressum von rebell.at stehe nicht ich, mir gehört nur die Domain :)

          2. Hi!

            Ich kann deiner Argumentation irgendwie nicht recht folgen (was aber eigentlich auch egal ist, denn das hier auszudiskutieren bringt niemandem was).

            Natürlich stand es damals auch quasi "offen" - allerdings war PHP in seinen Anfangszeiten als Toolkit gedacht, sprich einfach ein haufen Perl-Zeug.

            PHP hat sich erst ab Version 3 bei der "Allgemeinheit" etabliert. Die Anfänge davor zu betrachten, ist müßig. Und warum du jetzt noch die OOP ins Spiel bringst ...?

            Von einer eigenständigen objektorientierten Programmiersprache war man noch weit entfernt.

            PHP ist auch heute noch keine objektorientierte Programmiersprache. Der OOP-Teil ist immer noch nur quasi als Zugabe vorhanden. Selbst wenn man die eigenen Projekte objektorientiert programmieren möchte, kommt man selten am nicht-objektorientierten Teil PHPs vorbei.

            Lo!

            1. PHP ist auch heute noch keine objektorientierte Programmiersprache. Der OOP-Teil ist immer noch nur quasi als Zugabe vorhanden. Selbst wenn man die eigenen Projekte objektorientiert programmieren möchte, kommt man selten am nicht-objektorientierten Teil PHPs vorbei.

              Natürlich, aber es wird "besser" :)

    2. hi,

      PHP ist im Gegensatz zu Perl, bei dem man den Heredoc-Ansatz wählen würde, von Haus aus eine Template-Sprache. Es ist so designt, dass man statische Ausgaben mit PHP-Code spickt und nicht umgekehrt.

      Das hab ich auch sehr schnell kapiert ;-)

      Und dafür gibt es auch eine alternative Syntax für Kontrollstrukturen.

      Jo, erstmal gucken was die anderen so machen. Danke!

      Rolf

  4. Also ich hab mir gedacht, anstelle die verschiedenen Seiten mit einem "print <<<HERE..." (mehrzeilig) auszugeben, diesen HTML-Code außerhalb von <?php ?> zu notieren und mit php ganz einfach ein- oder auszukommentieren.

    Ich stelle mal zur "Diskussion":
    <?php if () { ?>
    html
    <?php } else { ?>
    html
    <?php } ?>

    1. Moin

      Ich stelle mal zur "Diskussion":
      <?php if () { ?>
      html
      <?php } else { ?>
      html
      <?php } ?>

      Also für mich sieht das gut aus. Ich würde es genausso machen. vielleicht der Übersicht halber eher:

      <?php if () : ?>
      html
      <?php else : ?>
      html
      <?php endif; ?>

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      ### Henry L. Mencken ###
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ## Viktor Frankl ###
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    2. hi,

      mein Ansatz sieht so aus:

        
      <?php  
      // Globale Variablen  
        
      // Hier die Kontrollstruktur zu Parametern und Responsen zu AJAX  
      // Alle Funktionen, die eine AJAX-Response senden, enden mit exit();  
      ?>  
        
      <!-- Ab hier steht die Ausgabe der jeweiligen Seite: Anmeldung (no session) || Chat (session established) -->  
        
        
      <?php  
      header("Content-type: text/html; charset=UTF-8");  
        
      if($state == 'talk')  
      	echo "<!--";  
      ?>  
        
      <h1>Anmeldung zum Chat</h1>  
        
        
      <?php  
      if($state == 'talk')  
      	echo "-->";  
        
        
      if($state == 'login')  
      	echo "<!--";  
      ?>  
        
      <h1>Mitreden im Chat</h1>  
        
      <?php  
      if($state == 'login')  
      	echo "-->";  
      ?>  
        
      
      

      Das sieht zwar nicht ganz so übersichtlich aus wie in Perl aber damit kann ich erstmal leben.

      Rolf

      --
      Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
      1. Das sieht zwar nicht ganz so übersichtlich aus wie in Perl aber damit kann ich erstmal leben.

        Was sollen die HTML-Kommentare an dieser Stelle?

        Warum nicht:

        <?php if($state == 'login') { ?>  
        <h1>Anmeldung zum Chat</h1>  
        <?php else if ($state == 'talk') { ?>  
        <h1>Mitreden im Chat</h1>  
        <?php } ?>
        

        oder mit alternativer Syntax.

        1. hi,

          Das sieht zwar nicht ganz so übersichtlich aus wie in Perl aber damit kann ich erstmal leben.

          Was sollen die HTML-Kommentare an dieser Stelle?

          Warum nicht:

          <?php if($state == 'login') { ?>

          <h1>Anmeldung zum Chat</h1>
          <?php else if ($state == 'talk') { ?>
          <h1>Mitreden im Chat</h1>
          <?php } ?>

            
          Ahhhhhh. Jetzt habichs verstanden. Ok, warum nicht, sieht gut aus ;-)  
            
          Rolf
          
          1. Ahhhhhh. Jetzt habichs verstanden. Ok, warum nicht, sieht gut aus ;-)

            Noch besser - warum nimmst du die Texte nicht aus einem Array oder einer XML-Datei?

            $foo['de']['login'] = 'Anmeldung zum Chat';  
            $foo['de']['talk']  = 'Mitreden im Chat';
            

            echo '<h1>' . $foo['de'][$state] . '</h1>';

            1. Ahhhhhh. Jetzt habichs verstanden. Ok, warum nicht, sieht gut aus ;-)

              Noch besser - warum nimmst du die Texte nicht aus einem Array oder einer XML-Datei?

              $foo['de']['login'] = 'Anmeldung zum Chat';

              $foo['de']['talk']  = 'Mitreden im Chat';

              
              >   
              > `echo '<h1>' . $foo['de'][$state] . '</h1>';`{:.language-php}  
                
              hehe, nicht so schnell. Ein alter Mann ist kein ICE ;-)  
              Muss erstmal MySQL updaten, damit PHP mit DB reden kann...  
                
              Rolf  
              
              -- 
              Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
              
      2. Moin

        if($state == 'talk')
        echo "<!--";
        ?>

        <h1>Anmeldung zum Chat</h1>

        <?php
        if($state == 'talk')
        echo "-->";

        if($state == 'login')
        echo "<!--";
        ?>

        <h1>Mitreden im Chat</h1>

        <?php
        if($state == 'login')
        echo "-->";
        ?>

        
        >   
          
        Wieso kommentierst du mit html aus? Ich verstehs ehrlich gesagt nicht. Besser wäre in deinem Fall (Um mal dein Beispiel zu nehmen):  
          
        `<h1>`{:.language-html}`<?php echo (($state == 'talk')?'Mitreden im Chat':'Anmeldung zum Chat')?>`{:.language-php}`</h1>`{:.language-html}  
          
        Einfacher und sauberer. Oder hab ich jetzt nen Denkfehler?  
          
        Gruß Bobby  
        
        -- 
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-  
        ### Henry L. Mencken ###  
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-  
        ## Viktor Frankl ###  
          
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
        
        1. hi,

          <h1><?php echo (($state == 'talk')?'Mitreden im Chat':'Anmeldung zum Chat')?></h1>

          Einfacher und sauberer. Oder hab ich jetzt nen Denkfehler?

          Ja ;-)

          Weil: Es ist ja nicht nur eine h1-Überschrift, da kommt ja nochn bissn mehr.

          --Rolf

          1. Moin

            Weil: Es ist ja nicht nur eine h1-Überschrift, da kommt ja nochn bissn mehr.

            Dann, und das schrieb ich vorhin (und andere auch):

              
            <?php if ($state == 'talk'):?>  
            
            ~~~~~~html
              <h1>Mitreden im Chat</h1>  
              <br /> und weiterer HTML-Code
            ~~~~~~php
              
            <?php elseif ($state == 'login'):?>  
            
            ~~~~~~html
              <h1>Anmelden zum Chat</h1>  
              <br /> und weiterer HTML-Code
            ~~~~~~php
              
            <?php endif;?>  
            
            

            Da muss nichts mit HTML auskommentiert werden

            Gruß Bobby

            --
            -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
            ### Henry L. Mencken ###
            -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
            ## Viktor Frankl ###
            ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
          2. Weil: Es ist ja nicht nur eine h1-Überschrift, da kommt ja nochn bissn mehr.

            Ein Grund mehr es gar nicht erst zu senden, wenn es nicht angezeigt werden soll.

      3. Hi!

        <?php
        // Globale Variablen

        // Hier die Kontrollstruktur zu Parametern und Responsen zu AJAX
        // Alle Funktionen, die eine AJAX-Response senden, enden mit exit();
        ?>

        <!-- Ab hier steht die Ausgabe der jeweiligen Seite: Anmeldung (no session) || Chat (session established) -->

        <?php
        header("Content-type: text/html; charset=UTF-8");

          
        Damit hast du schon verloren und bekommst die vielzitierte "Cannot send headers"-Fehlermeldung, denn header() muss vor sämtlichen Ausgaben aufgerufen werden, wozu auch die Zeichen im HTML-Modus (oder Nicht-PHP-Modus, also außerhalb von <?php ?>) gehören.  
          
          
        Lo!
        
        1. hi,

          Damit hast du schon verloren und bekommst die vielzitierte "Cannot send headers"-Fehlermeldung, denn header() muss vor sämtlichen Ausgaben aufgerufen werden, wozu auch die Zeichen im HTML-Modus (oder Nicht-PHP-Modus, also außerhalb von <?php ?>) gehören.

          Hab schon gehört von dieser schönen Fehlermeldung. Aber die bekomme ich nicht. Warum nicht, schau mal:

          <?php

          /* hier hab ich das was die Datei außer HTML-Ausgaben macht, nämlich den Anmeldeprozess mit Sessionaufbau und Umleitung sowie ajax-Responsen ausgeben. Die Umleitung und jede Ajax-Response beinhaltet die Funktion header(); und endet nach some statements mit exit();

          Hier im Oberteil der PHP-Datei werden nur Parameter geparst. Es wird also als Erstes abgefragt, ob überhaupt Parameter gesendet wurden. */

          if($_GET || $_POST){
           // Parameterhandling
          }
          else{
           // nothing to do
          }

          ?>

          <!-- Ab hier steht HTML und welche Seite gezeigt wird, ist davon abhängig, ob eine gültige Session besteht oder nicht (bischn php). -->

          Genauso baue ich meine Anwendungen (mit oder ohne Ajax) mit Perl, also immer erst eine Kontrolstruktur, wo Parameter abgefragt werden; dann erst das HTML-Zeugs (je nach Parameter).

          Rolf

  5. Lieber hotti,

    ich denke einmal, dass es im ersten Moment egal ist, mit welcher Scriptsprache Du arbeitest. Wenn Du Programmlogik von Ausgabe sauber trennen willst, dann kommst Du um Templates nicht herum.

    Ich lege gerne HTML-Dokumente an, aus denen ich mir bei Bedarf den Code hole, der ausgegeben werden soll. Und welcher das ist, bestimme ich u.a. mit HTML-Kommentaren.

    <html><head><title>irgendein Template</title></head><body>  
    <h1>Überschrift</h1>  
    <p>Hier steht ein Text...</p>  
    <!-- Anmeldung -->  
        <form action="..." method="post">  
           ...  
        </form>  
    <!-- /Anmeldung -->  
    <!-- Angemeldet -->  
        <p>Folgende Optionen stehen Ihnen zur Auswahl:</p>  
        ...  
    <!-- /Angemeldet -->  
    </body></html>
    

    Mit PHP lösche ich dann jeweils die Bestandteile heraus, die nicht benötigt werden. Und damit ich da relativ frei bin, verwende ich eben die Kommentare als "Markierungen" im Code.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hi!

      Wenn Du Programmlogik von Ausgabe sauber trennen willst, dann kommst Du um Templates nicht herum.

      Ich sehe es als besser an, Geschäftslogik von Ausgabelogik zu trennen und nicht zu versuchen den Ausgabetext programmcodefrei zu halten. Denn Letzteres lässt sich nicht erreichen. Stattdessen tauscht man nur die Syntaxelemente der einer Sprache durch die einer anderen Sprache aus - Platzhalter sind letztlich auch nichts anderes als syntaktische Elemente. Hinzu kämen noch Kontrollstrukturen für sich wiederholende Elemente. Damit hat man außer einer erhöhten Komplexität im Codeanteil (um die Platzhalter- usw. -Syntax auszuwerten) effektiv nichts gewonnen.

      Andererseits haben Template-Systeme mit anderer/einfacherer Syntax als eine ausgewachsene Programmiersprache durchaus ihre Berechtigung, beispielsweise wenn es darum geht, die Vorlagen von Nicht-Programmierern erstellen zu lassen.

      Es kommt meines Erachtens immer darauf an, was man erreichen will und dann muss fallbezogen entschieden werden.

      Lo!

  6. Mann!

    Ich krieg ja hier schon an meinem ersten PHP-Tag haufenweise Tipps und Hinweise, echt Klasse!

    So, jetzt aber weiter im Stoff, muss nochn bischn büffeln.

    Horst Buffalo

    --
    Always cut my hair.