Margrith: Code im Header

Hallo Forianer

Macht es einen Unterschied, ob der PHP-Code (zumindest Teile davon) im "Header" oder im "Body" steht?
Ich denke, es kommt nicht darauf an. Wie es sich aber mit den Funktionen verhält weiss ich nicht.

Da ich in der Forumsuche keine Antwort auf meine Frage erhalten habe, wende ich mich auf diese Weise an Euch.

Schon mal Danke für jeden Hinweis!

Grüsse
Margrith

  1. Hallo Forianer

    Macht es einen Unterschied, ob der PHP-Code (zumindest Teile davon) im "Header" oder im "Body" steht?
    Ich denke, es kommt nicht darauf an. Wie es sich aber mit den Funktionen verhält weiss ich nicht.

    Wenn du <head> meinst dann ist das völlig egal. Der PHP Code kommt ja nicht soweit, sondern bleibt auf den Server.HTML wird dort ignoriert.
    Also ist es egal wohin. Du kannst es aber auch vor <HTML> setzen. Das finde ich persönlich ganz praktisch, der Übersichtlichkeit wegen.

    MFG

    KAY

    1. Also ist es egal wohin. Du kannst es aber auch vor <HTML> setzen. Das finde ich persönlich ganz praktisch, der Übersichtlichkeit wegen.

      Danke Kay! Du sprichst genau das an, was ich meine.
      Eben, das mit der Übersichtlichkeit. Ich will meinen
      "Spaghetti-Code" aufräumen und darum vor dem <HTML>-Tag
      setzen. Im Body sollen dann die Variabeln und Funktionenj
      ihr "Unwesen" treiben.

      Lieber Gruss
      Margrith

      1. Naja,wenn du richtig Ordnung haben möchtest, dann würde ich dir empfehlen mit Templates zu arbeiten. Eine gute Templateklasse ist smarty.php.net. Da trennst du den Code vom Design. Also du hast einemal PHP und einmal HMTL.

        MFG

        KAY

        1. Hallo Kay.

          Kleine Nachfrage:

          Soll sich dieser Satz...

          Also du hast einemal PHP und einmal HMTL.

          ... auf diesen hier beziehen?

          Eine gute Templateklasse ist smarty.php.net. Da trennst du den Code vom Design.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          Try it: Become an Opera Lover in 30 days
          1. Hallo Kay.

            Kleine Nachfrage:

            Soll sich dieser Satz...

            Also du hast einemal PHP und einmal HMTL.

            ... auf diesen hier beziehen?

            Eine gute Templateklasse ist smarty.php.net. Da trennst du den Code vom Design.

            Naja, so ungefähr. Ist natürlich nen bissel grob, und jeder der sich nen bissel damit auskennt verprügelt mich dafür, aber im ansatz ist es richtig :-) Logik und Design wird halt getrennt.

            1. Hallo Kay.

              Naja, so ungefähr. Ist natürlich nen bissel grob, und jeder der sich nen bissel damit auskennt verprügelt mich dafür, aber im ansatz ist es richtig :-) Logik und Design wird halt getrennt.

              Das findet aber nicht mit HTML und PHP statt, sondern mit HTML/PHP und CSS.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
              Try it: Become an Opera Lover in 30 days
              1. Das findet aber nicht mit HTML und PHP statt, sondern mit HTML/PHP und CSS.

                Moment, du hast die normalen .php dateien und die .tpl Dateien. In den .php Files hast du den Source Code und in den .tpl is HTML, die "Sprache" des Templatesystems und CSS enthalten. iS doch dann richtig was ich geschrieben hab. :-/

                KAY

                1. Heißa, Kay,

                  iS doch dann richtig was ich geschrieben hab. :-/

                  Du schriebst, dass PHP die Logik sei und HTML das Design. Jedoch ist HTML die Logik (PHP auch) und CSS das Design. :P

                  Caramba!
                  Grüße aus Biberach Riss,
                  Candid Dauth (ehemals Dogfish)

                  --
                  „Tue niemals etwas ausschließlich weil es jemand anderer tut – auch wenn dieser unter deiner tiefsten Verehrung steht.“ | Mein SelfCode
                  http://cdauth.de/
                  1. HTML hat für mich nichts mit Logik zu tun. HTML ist nur zur Formatierung da (egal ob text, tabellen, etc.). Oder zeigt mir doch mal, wie man mit HTML programmiert :P

                    KAY

                    1. Heißa, Kay,

                      HTML hat für mich nichts mit Logik zu tun. HTML ist nur zur Formatierung da (egal ob text, tabellen, etc.).

                      Jau, semantisches Markup, oft logische Auszeichnung genannt. ;-)
                      Und außerdem ist es ja _logisch_, dass man Tabellen als solche auszeichnet, ebenso Absätze und Listen... ;-)

                      Caramba!
                      Grüße aus Biberach Riss,
                      Candid Dauth (ehemals Dogfish)

                      --
                      „Versuche niemals, jemandem eine Meinung zu bilden; erläutere ihm maximalerweise alle ausschlaggebenden Fakten, aus welchen er sich dann eine eigene Meinung bilden kann.“ | Mein SelfCode
                      http://cdauth.de/
                      1. HHmmm, ich weiß nich. SChlag mich grad mit Prolog rum, dass find ich logisch, manchmal :-) Naja, lassen wir diese diskussion. Kann mich da nich ausdrücken, irgendwie :-) Na ihr wüsst schon, na so halt.
                        Schönen abend. :-)

                        KAY

                    2. Hallo Kay.

                      HTML hat für mich nichts mit Logik zu tun.

                      Schon einmal etwas von der logischen Auszeichnung von Inhalten gehört?
                      Oft schimpft sich das auch "semantisches Markup".

                      HTML ist nur zur Formatierung da (egal ob text, tabellen, etc.).

                      Absolut nicht!

                      Oder zeigt mir doch mal, wie man mit HTML programmiert :P

                      Man kann mit HTML nicht programmieren, da es keine Programmier- sondern eine Auszeichnungssprache ist.
                      Mir scheint, du schmeißt da etwas durcheinander.

                      Gruß, Ashura

                      --
                      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                      Try it: Become an Opera Lover in 30 days
                  2. Hallo.

                    Du schriebst, dass PHP die Logik sei und HTML das Design. Jedoch ist HTML die Logik (PHP auch) und CSS das Design. :P

                    HTML: Struktur
                    CSS: Darstellung
                    PHP (o. ä.): server-seitige Logik
                    (JavaScript: client-seitige Logik)
                    MfG, at

      2. Hello,

        Eben, das mit der Übersichtlichkeit. Ich will meinen
        "Spaghetti-Code" aufräumen

        Dann solltest Du auch die Strenge Einhaltung der Sectionierung befolgen.

        • allgemeiner Kommentarbereich
        • Konstanten- und Scriptvariablen deklarieren
        • includes von Librairies
        • Funktionsdeklarationen
        • Datenübernahme vom User
        • Datenverarbeitung (Hauptprogramm)
          -- Aktionsbestimmung
          -- Abfragen
          -- Manipulation
          -- Wegschreiben
        • Ausgabeberechnung
        • Ausgabe (vor diesem Abschnitt darf kein Bit ausgegeben werden)

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Moin,

    Macht es einen Unterschied, ob der PHP-Code (zumindest Teile davon) im "Header" oder im "Body" steht?

    ich bevorzuge den PHP Code am Anfang des Scriptes, bis auf evtl. Schleifen, welche halt innerhalb des Bodys sein müssen.

    Aber dem Parser ist das grundsätzlich egal wo der PHP Code steht.

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. Hello,

      ich bevorzuge den PHP Code am Anfang des Scriptes, bis auf evtl. Schleifen, welche halt innerhalb des Bodys sein müssen.

      Welche Schleifen _müssen_ denn innerhalb der HTML-Ausgabe sein?
      Das würde mich jetzt mal brennend interessieren?

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Moin Tom,

        Welche Schleifen _müssen_ denn innerhalb der HTML-Ausgabe sein?
        Das würde mich jetzt mal brennend interessieren?

        Naja, vielleicht ist müssen übertrieben. Aber z.Bsp. wenn eine Tabelle dynamisch aus eine DB befüllt werden soll, ohne den Zwischenschritt über ein Array zu benutzen.

        regds
        Mike©

        --
        Freunde kommen und gehen. Feinde sammeln sich an.
        1. Hello,

          Welche Schleifen _müssen_ denn innerhalb der HTML-Ausgabe sein?
          Das würde mich jetzt mal brennend interessieren?

          Naja, vielleicht ist müssen übertrieben. Aber z.Bsp. wenn eine Tabelle dynamisch aus eine DB befüllt werden soll, ohne den Zwischenschritt über ein Array zu benutzen.

          Und woher kommen die Daten, wenn nicht aus einem Array oder einem Query?

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. Moin Tom,

            Und woher kommen die Daten, wenn nicht aus einem Array oder einem Query?

            aus einem Query, welches aber als PHP Code im Body Bereich steht.

            Würde ich das Query in den "Kopf" des Scriptes schreiben, müßte ich das Ergebnis in Arrays zwischen speichern um sie im Body Bereich ausgeben zu können.

            regds
            Mike©

            --
            Freunde kommen und gehen. Feinde sammeln sich an.
            1. Hello,

              Würde ich das Query in den "Kopf" des Scriptes schreiben, müßte ich das Ergebnis in Arrays zwischen speichern um sie im Body Bereich ausgeben zu können.

              Nö, Du müsstest nur die formatierte Ausgabe (HTML-String) zwischenspeichern.
              Das ist aber immer noch die sauberst Vorgehensweise.
              Im HTML-Teild des Scripts gibst Du dann nur die Variable, die das Sub-Template vollständig enthält, aus.

              Siehe hierzu (unfertiges) Beispiel unter http://selfhtml.bitworks.de --> Besucherzähler.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
  3. Hallo Margrith,

    Macht es einen Unterschied, ob der PHP-Code (zumindest Teile davon) im "Header" oder im "Body" steht?

    Falls du die Head- bzw. Body-Elemente von HTML meinst, prinzipiell nein. Wenn der Code irgendwelche Daten ausgibt, die dann in die HTML-Seite eingebaut werden muss das natürlich an der richtigen Stelle geschehen. Ansonsten ist es aber prinzipiell egal, wo in der Datei dein PHP-Code steht.

    Bei ganz kleinen Scripten ist es wohl die schnellste Möglichkeit, den PHP-Code direkt in der HTML-Datei zu notieren. Prinzipiell ist das jedoch schlechter Stil und schon bei ein wenig umfangreicheren Projekten lohnt sich meiner Meinung nach der Einsatz einer Template-Engine um Layout und Programmlogik zu trennen. Ich persönlich verwende HTML_Template_Sigma, da es vergleichsweise einfach und nicht überladen ist, aber trotzdem alle Funktionen besitzt, die ich benötige.

    Die bekannteste Template-Engine für PHP und wahrscheinlich auch die mit dem größten Funktionsumfang ist Smarty. Allerdings benötigt man hierfür doch ein wenig Einarbeitungszeit um die Funktionen zu überblicken.

    Ich denke, es kommt nicht darauf an. Wie es sich aber mit den Funktionen verhält weiss ich nicht.

    Wichtig ist lediglich, dass du alle Funktionen definierst _bevor_ du sie im Script verwendest. Idealerweise also ganz oben oder in einer externen Datei, die du dann ganz oben in der Datei einbindest.

    Schöne Grüße,

    Johannes

    --
    ie:% fl:( br:< va:) ls:[ fo:) rl:) n4:& ss:| de:] js:| ch:} sh:) mo:} zu:)
    1. Hi there,

      Wichtig ist lediglich, dass du alle Funktionen definierst _bevor_ du sie im Script verwendest.

      Dem muß ich leider widersprechen. Es genügt völlig, die Funktionen irgendwo in der selben Datei zu definieren (oder eben in einer externen, eingebundenen Datei, wie Du ja richtig beschrieben hast)

      1. Hi,

        Dem muß ich leider widersprechen. Es genügt völlig, die Funktionen irgendwo in der selben Datei zu definieren (oder eben in einer externen, eingebundenen Datei, wie Du ja richtig beschrieben hast)

        Johannes ist vermutlich "Alt-PHPler". Früher hätte er Recht gehabt. ;-)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Hallo Klawischnigg,

        Wichtig ist lediglich, dass du alle Funktionen definierst _bevor_ du sie im Script verwendest.

        Dem muß ich leider widersprechen. Es genügt völlig, die Funktionen irgendwo in der selben Datei zu definieren (oder eben in einer externen, eingebundenen Datei, wie Du ja richtig beschrieben hast)

        Ja, du hast vollkommen recht. Das was ich geschrieben hatte, war Unsinn.

        Johannes, der sich gerade den Kopf darüber zermartert, mit welcher Sprache er das gestern Abend verwechselt haben könnte.

        --
        ie:% fl:( br:< va:) ls:[ fo:) rl:) n4:& ss:| de:] js:| ch:} sh:) mo:} zu:)
        1. Moin!

          Johannes, der sich gerade den Kopf darüber zermartert, mit welcher Sprache er das gestern Abend verwechselt haben könnte.

          Pascal bzw. Turbo Pascal bzw. Delphi.

          Es zeugt von gutem Programmierstil, die in Pascal geforderte Strenge hinsichtlich der Definiertheit später verwendeter Variablen, Funktionen und Objekten auch in freizügigeren Programmiersprachen soweit, wie es sinnvoll ist, durchzuhalten.

          • Sven Rautenberg
        2. Hi,

          Ja, du hast vollkommen recht. Das was ich geschrieben hatte, war Unsinn.

          S. Parallelposting: So unsinnig ist es nicht. Erst ab (IIRC) PHP 4 war es egal. Vorher mußten die Funktionen vor ihrem Aufruf im Quelltext stehen.

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      3. Hi!

        Wichtig ist lediglich, dass du alle Funktionen definierst _bevor_ du sie im Script verwendest.

        Dem muß ich leider widersprechen. Es genügt völlig, die Funktionen irgendwo in der selben Datei zu definieren (oder eben in einer externen, eingebundenen Datei, wie Du ja richtig beschrieben hast)

        Bedenkt aber dass dies für Klassen seit PHP5 nicht mehr uneingeschränkt gilt!
        (http://de.php.net/manual/en/migration5.incompatible.php)

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/