Code im Header
Margrith
- php
0 Kay Sch.0 Mike©0 Johannes Zeller
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
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
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
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
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
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.
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
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
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)
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
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)
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
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
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
Hello,
Eben, das mit der Übersichtlichkeit. Ich will meinen
"Spaghetti-Code" aufräumen
Dann solltest Du auch die Strenge Einhaltung der Sectionierung befolgen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
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©
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
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©
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
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©
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
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
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)
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
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.
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.
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
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