Zum Inhalt springen

templates und webserverprogrammierung


Empfohlene Beiträge

hmm, so weit mein Englisch reicht hab ich das so verstanden:

Irgendwo liegen Dateien mit eigentlichem html layout mit platzhaltern. Wenn ich die Klasse smarty einbinde kann ich durch methoden Inhalte in diese Platzhalter einfügen. Smarty ließt das layout ein und füllt die Seite dynamsich mit den Inhalten aus und macht dann endgültig eine Seite für den Client daraus.

??

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja so könnte man das ausdrücken.

- layouts (Templates) werden mit platzhaltern im "template dir" abgelegt (dies kann auch eine DB sein)

- Smarty variablen werden mit inhalt gefüllt

- Smarty zeigt die Templates mit den gefüllten Platzhaltern an

Templates können dabei alle Mögliche formen annehmen.

CSS/XML/HTML/CSV/-Dateien,etc.

Smarty bietet darüber hinaus noch sehr viele andere schöne Mechanismen.

Caching/Outpufilter/etc...

Wenn man allerdings nur die eigentliche Template Engine verwendet, erzeugt smarty einen recht großen overhead...

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich find Smarty und auch andere Template-Parser meist zu voll gepackt. Man wird vllt. 5% des ganzen Umfangs des Parsers nutzen (können) und von daher finde ich diese Parser für den Anfang und für kleine Projekte ein wenig zu gross. Also ich habe mir selbst einen eigenen Parser gebastelt der mir ein paar kleine Sachen bereitstellt, wie PHP Skript ausführen, Dateien einbinden, If-Anweisung, Datum, Uhrzeit etc. alles mit Platzhaltern. Somit muss man sich in PHP nicht auskennen um z.B. ein Datum o.ä. auszugeben. Derzeit bastel ich mir noch Caching hinzu, da es ja auch ganz sinnvoll ist sowas zu haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also dazu kann ich nur sagen, dass ich eigentlich für alle Projekte die ich ohne CMS mache PHP als Template Engine.

Siehe dazu:

http://www.phppatterns.com/index.php/article/articleview/4/1/1/

Versteh grad deinen Satz nicht ganz *aufmschlauchsitz*

Findest du jetzt Templates gut oder schlecht?

Ein Kollege hat sich einach ne PHP Klasse gebaut, die den ganzen html code ausgibt z.B. Tabellen, formulare....denke dass das ein guter "Mittelweg" ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Versteh grad deinen Satz nicht ganz *aufmschlauchsitz*

Findest du jetzt Templates gut oder schlecht?

sorry hab wohl nen wort vergessen.

Ich finde Template Engines SUPER! ;)

Es muss nur dem Projekt entsprechend die richtige gewählt werden...

Wie z.b. o.g. ist Smarty, wenn nur als Templateengine eingesetzt eigentlich für jedes Projekt ZU VIEL.

Nochmal um auf meinen "komischen Satz" zurückzukommen...

Beispiel Template:

Smarty:


<h1>{ $headline }</h1>

"PHP":

<h1><?php echo $headline ?></h1>

Im Prinzip ist das ja beides das gleiche, nur das die 2. Variante um einiges schneller sein wird, da ich dazu keine 5000 Zeilen Lange Templateengine einbinden brauch,...

PHP selbst ist auch eine Templateengine...

Das ganze dann in eine kleine Klasse gepackt und man hat nen Templateparser, ohne jeglichen overhead!

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Prinzip ist das ja beides das gleiche, nur das die 2. Variante um einiges schneller sein wird, da ich dazu keine 5000 Zeilen Lange Templateengine einbinden brauch,...
Da wäre ich aber sehr vorsichtig. Nur weil eine Template-Engine bei der Verarbeitung mit ins Spiel kommt heisst das noch lange nicht, dass deswegen die Verarbeitung langsamer sein muss. Das kann natürlich der Fall sein, es könnte aber auch genau der entgegengesetze Fall eintreten, und gerade durch den Einsatz einer Template-Engine könnte ein Geschindigkeitsvorteil entstehen. Das hängt davon ab, wie die Engine implementiert ist.

Es geht ja auch darum, wie skaliert mein System also wie verhält es sich, wenn Anfragen und die übertragene Datenmenge zunimmt. Da kann es dann schon sein, dass System 1 was auf den ersten Blick einfacher und schneller aussieht bei 1000 Anfragen pro Minute plötzlich kaum noch Daten liefert, während System 2, was total aufgebläht und unnütz wirkt noch ohne Probleme die Requests abarbeiten kann.

Performance isoliert vom Einsatzzweck zu betrachten und generell zu sagen "Ne, das ist aber total unnütz, weil..." macht keinen Sinn.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da wäre ich aber sehr vorsichtig. Nur weil eine Template-Engine bei der Verarbeitung mit ins Spiel kommt heisst das noch lange nicht, dass deswegen die Verarbeitung langsamer sein muss. Das kann natürlich der Fall sein, es könnte aber auch genau der entgegengesetze Fall eintreten, und gerade durch den Einsatz einer Template-Engine könnte ein Geschindigkeitsvorteil entstehen. Das hängt davon ab, wie die Engine implementiert ist.

Ich bin der Meinung, wenn keine mechanismen wie Caching, etc verwendet werden, ist eine reine PHP Seite auf jeden Fall schneller....

Man kann ja destotrotz z.b. AdoDB als Datenbankklasse verwenden, man ist ja nicht zwangsweise an eine TemplateEngine gebunden...

Wenn die Template Engine nicht aus reinen C-files etc. besteht kann sie unmöglich schneller sein als reines PHP, da es ja auf PHP aufbaut...

(Ausser man verwendet wie o.g. Caching mechanismen)

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Man kann ja destotrotz z.b. AdoDB als Datenbankklasse verwenden, man ist ja nicht zwangsweise an eine TemplateEngine gebunden...

Wenn die Template Engine nicht aus reinen C-files etc. besteht kann sie unmöglich schneller sein als reines PHP, da es ja auf PHP aufbaut...

(Ausser man verwendet wie o.g. Caching mechanismen)

Achtung: Eine Template-Engine muss nicht zwangsläufig auf PHP aufsetzen! In dem speziellen Fall, wenn sie das tut, wäre natürlich die Laufzeit tatsächlich langsamer: PHP mit Aufsatz ist langsamer als PHP ohne Aufsatz - das ist simple Physik :)

Aber ich kenne zig andere Template-Engines, die nicht auf PHP sondern auf anderen Sprachen aufsetzen. Und da kannst du dann nicht mehr pauschal sagen "Das ist schneller" bzw. "Das ist langsamer als PHP".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...