HTML in PHP oder PHP in HTML?
xela
- php
0 Julian von Mendel0 small-step0 EisFuX
0 dedlfix
Hallo!
Ich hab ne Frage. PHP in HTML einbetten oder HTML in PHP, welche von beiden ist empfehlenswert?
Gruß xela
Hi,
Ich hab ne Frage. PHP in HTML einbetten oder HTML in PHP, welche von beiden ist empfehlenswert?
kommt auf die Anwendung an. Bei längeren, nicht dynamisch generierten HTML-Abschnitten, finde ich eine Ausgabe durch PHP nutzlos. Bei kurzen HTML-Abschnitten, die dynamisch vom PHP erzeugt werden, bevorzuge ich die Ausgabe von HTML durch PHP.
Schöne Grüße
Julian
Hallo xela,
Ich hab ne Frage. PHP in HTML einbetten oder HTML in PHP, welche von beiden ist empfehlenswert?
Darüber lässt sich lange streiten. Mittlerweile bin ich dafür keins von beiden anzuwenden. Wenn ich zur Zeit was mit PHP mache verwende ich Templates. Du kannst Dir ja mal Smarty ansehen wenn es Dich interessiert. Meiner Meinung nach die beste Lösung.
Gruß,
small-step
Hallo small-step,
Darüber lässt sich lange streiten. Mittlerweile bin ich dafür keins von beiden anzuwenden. Wenn ich zur Zeit was mit PHP mache verwende ich Templates. Du kannst Dir ja mal Smarty ansehen wenn es Dich interessiert. Meiner Meinung nach die beste Lösung.
Ähm, ich war bisher immer der Meinung, dass ein Template-System wie Smarty nichts anderes macht, als HTML mit der Hilfe von PHP auszugeben. Ein ziemlich umständlicher Weg, wenn man bedenkt, dass PHP selbst ja quasi ein Template-System ist. Der PHP-Interpreter pars(ed|t) den Quelltext und ersetzt die PHP-Bereiche durch die Ausgaben des PHP-Codes. Smarty macht ja im Prinzip nichts anderes, als die Funktionalität von PHP mit PHP-Code nachzubilden. Ohne aktivierten Cache ist die Geschwindigkeit der Ausgabe dann eher lahm. Es gibt dazu eine interessante Web-Seite.
MffG
EisFuX
Hallo EisFuX,
Ähm, ich war bisher immer der Meinung, dass ein Template-System wie Smarty nichts anderes macht, als HTML mit der Hilfe von PHP auszugeben. Ein ziemlich umständlicher Weg, wenn man bedenkt, dass PHP selbst ja quasi ein Template-System ist. Der PHP-Interpreter pars(ed|t) den Quelltext und ersetzt die PHP-Bereiche durch die Ausgaben des PHP-Codes. Smarty macht ja im Prinzip nichts anderes, als die Funktionalität von PHP mit PHP-Code nachzubilden.
Smarty, oder andere Template-Systeme, erlauben Dir Programm und Design zu trennen. Viele schaffen das nicht ohne fremde Hilfe. Um ehrlich zu sein fiel mir das früher auch erheblich schwerer als jetzt. Davon abgesehen kann ein Smarty-Template von jedem halbwegs geschickten Grafiker editiert werden. Wer keine Ahnung von PHP hat plagt sich mit einer komplexen, verschachtelten PHP-HTML-Mischung oft stundenlang rum. Und wer hat bitte noch niemals solch eine Mischung fabriziert?
Ohne aktivierten Cache ist die Geschwindigkeit der Ausgabe dann eher lahm. Es gibt dazu eine interessante Web-Seite.
Na und was spricht dagegen den Cache zu aktivieren? Es ist ja nicht so als wäre das bei Smarty sonderlich schwierig.
Ich sage ja außerdem nicht dass Smarty der Königsweg ist. Ich behaupte nur, dass ich zum jetztigen Zeitpunkt nichts besseres, bzw. praktikableres kenne. Nutze die Gelegenheit und erleuchte mich, so Du dazu fähig bist.
Smarty, oder andere Template-Systeme, erlauben Dir Programm und Design zu trennen.
Die von mir verlinkte Seite beschreibt zwar auf Englisch, aber besser, als ich es je könnte, dass ein Template-System wie Smarty eben nicht Programm-Logik vom Design trennt, sondern Business-Logik von der Darstellungs-Logik. Das ist ein klein wenig anders.
Viele schaffen das nicht ohne fremde Hilfe. Um ehrlich zu sein fiel mir das früher auch erheblich schwerer als jetzt.
Naja, wenn sich jeder auf seine Fähigkeiten beschränkt, geht das schon. Bei Ein-Mann-Projekten stellt sich allerdings die Frage: Wenn der "Web-Designer" sowieso mit PHP programmiert, warum nutzt er dann nicht die Fähigkeiten der Sprache, statt eine zweite Sprache (die von Smarty) zu lernen? Eben weil Smarty ja diverse PHP-Funktionalität nachbildet, kann man doch auch gleich das entsprechende PHP-Konstrukt benutzen. Letztendlich schreibt man sonst eine "HTML-Datei", die Smarty-Befehle enthält. Diese Befehle werden von einem PHP-Script interpretiert, dass erst den Smarty-Code in PHP-Befehle umwandelt, diese ausführt und schließlich die Ausgabe erzeugt.
Davon abgesehen kann ein Smarty-Template von jedem halbwegs geschickten Grafiker editiert werden.
Kommt darauf an, in welchem Fach der Grafiker geschickt ist. ;-)
Ich würde eher darauf tippen, dass er geschickter mit Photoshop als mit der Smarty-Syntax ummgehen kann. Zumindest ist das bei den Grafikern so gewesen, die ich kenne/kannte ...
Wer keine Ahnung von PHP hat plagt sich mit einer komplexen, verschachtelten PHP-HTML-Mischung oft stundenlang rum.
Die Smarty-Befehle finde ich um einiges komplizierter als die von PHP.
Wenn es über Flat-Templates oder eben das Ersetzen von simplen Platzhaltern mit Namen durch die Inhalte der gleichnamigen Variablen geht, ist PHP-Code kaum komplexer als Smarty. Oder ist
<?=$variable;?>
wirklich so viiiiel komplizierter als
{$variable}
?
Bei den komplexeren Smarty-Anweisungen dürfte der Unterschied noch geringer ausfallen.
Und wer hat bitte noch niemals solch eine Mischung fabriziert?
Keine Ahnung, ich geb mir Mühe, sowas nicht zu machen. Es gibt ja in PHP diverse Möglichkeiten, zumindest den Großteil der Anzeige-Daten vom Progamm-Code zu trennen.
Na und was spricht dagegen den Cache zu aktivieren? Es ist ja nicht so als wäre das bei Smarty sonderlich schwierig.
Ich wüsste nichts, was dagegen spräche. Aber der Cache nützt ja nur dann was, wenn seltenen Änderungen viele Abrufe der Seite gegenüberstehen. Wird der Seiteninhalt oft geändert, kann der Cache seine Stärken nicht ausspielen.
Ich sage ja außerdem nicht dass Smarty der Königsweg ist. Ich behaupte nur, dass ich zum jetztigen Zeitpunkt nichts besseres, bzw. praktikableres kenne. Nutze die Gelegenheit und erleuchte mich, so Du dazu fähig bist.
Ich glaube nicht, dass ICH dazu fähig bin. Aber diese Template-Engine ist mindestens so leistungsfähig wie Smarty, hat einen Cache und benötigt lediglich 3525 Bytes Speicherplatz für ihr Script (gemessen mit "CRLF"-Zeilenumbrüchen, unter Unix ist sie also noch kleiner ;-)).
(Nicht ganz ernst gemeintes) P.S.: Und der Syntax-Highlighter vom SELFFORUM kennt [соdе lang=smarty] auch nicht!
MffG
EisFuX
Hi,
<?=$variable;?>
Von der Verwendung dieser Kurzschreibweise (das ";" ist dann übrigens auch überflüssig) ist \*dringend\* abzuraten! IIRC wird sie bei zukünftigen Versionen (bereits PHP 6) entfallen.
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"!
echo $begrüßung;
<?=$variable;?>
Von der Verwendung dieser Kurzschreibweise ist *dringend* abzuraten!
Ja, zumindest wenn man will, dass die Scripte auch auf Konfigurationen mit short_open_tags=off laufen sollen.
IIRC wird sie bei zukünftigen Versionen (bereits PHP 6) entfallen.
Das wird voraussichtlich nicht der Fall sein.
echo "$verabschiedung $name";
echo $begrüßung;
Ich hab ne Frage. PHP in HTML einbetten oder HTML in PHP, welche von beiden ist empfehlenswert?
Das kommt, wie du schon teilweise der Diskussion entnehmen kannst, auch auf deine aktuellen Gegebenheiten an. Soll die Datenverarbeitung und die Seitenvorlagen von verschiedenen Personen erstellt werden, ist vielleicht ein Template-System zu bevorzugen, dass den "Darsteller" von programmiertechnischen Dingen weitgehend fernhält. Ist es nur für dich, weil du gern der Übersichtlichkeit halber Datenverarbeitung von der Darstellung trennen möchtest, dann reicht vielleicht das kleine System, das ich neulich produziert habe.
echo "$verabschiedung $name";