Brei Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 Hallo hab ich letzter Zeit öfters was von Templates gelesen. Im Zusammenhang mit Webserverprogrammierung, CMS und Webdesign. Aber was das genau ist versteh ich nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 schau mal z.b. unter http://smarty.php.net nach. Durch Templates trennt man den eigentlichen Code vom Design, was meiner Meinung nach auch äußerst sinnvoll ist! Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 20. März 2005 Autor Teilen Geschrieben 20. März 2005 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. ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freq.9 Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 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/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brei Geschrieben 20. März 2005 Autor Teilen Geschrieben 20. März 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 20. März 2005 Teilen Geschrieben 20. März 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 21. März 2005 Teilen Geschrieben 21. März 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. März 2005 Teilen Geschrieben 21. März 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 21. März 2005 Teilen Geschrieben 21. März 2005 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". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. März 2005 Teilen Geschrieben 21. März 2005 Und wer mehr arbeiten muss, braucht auch länger Dieser Grundsatz stimmt aber auch ohne Physik... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.