<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Kommentare zu: Die Templates, die ich rief</title>
	<atom:link href="http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/</link>
	<description>Ein PHP Blog mit aktuellen PHP Informationen und Tricks für Entwickler.</description>
	<pubDate>Thu, 17 May 2012 10:04:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>Von: PHP Blogger: Vergiss Template-Engines! - Ein PHP Blog auf deutsch</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-413</link>
		<dc:creator>PHP Blogger: Vergiss Template-Engines! - Ein PHP Blog auf deutsch</dc:creator>
		<pubDate>Tue, 06 Nov 2007 11:22:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-413</guid>
		<description>[...] jeder gute Leser des PHP Bloggers. Artikel wie &#8220;PHP ist eine Template Engine!&#8220;, &#8220;Die Templates, die ich rief&#8221; und &#8220;Br&#246;ckchen f&#252;r Br&#246;ckchen&#8221; sagen glaube ich [...]</description>
		<content:encoded><![CDATA[<p>[...] jeder gute Leser des PHP Bloggers. Artikel wie &#8220;PHP ist eine Template Engine!&#8220;, &#8220;Die Templates, die ich rief&#8221; und &#8220;Br&#246;ckchen f&#252;r Br&#246;ckchen&#8221; sagen glaube ich [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-189</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Tue, 10 Jul 2007 13:55:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-189</guid>
		<description>@Tim, danke f&#252;r den Hinweis - ich schau mir die Extension mal an, klingt interessant...</description>
		<content:encoded><![CDATA[<p>@Tim, danke f&#252;r den Hinweis - ich schau mir die Extension mal an, klingt interessant&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: tim</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-187</link>
		<dc:creator>tim</dc:creator>
		<pubDate>Tue, 10 Jul 2007 13:46:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-187</guid>
		<description>Hallo timi,

danke f&#252;r die schnelle Antwort.

Leider habe ich keinen eigenen Blog, da mir die Zeit dazu fehlt.
Ich dachte immer, file_get_contents gebe es erst seit PHP 5. Danke f&#252;r die Info.
Das beste w&#228;re wirklich, den Entwickler von HSTemplate zu kontaktieren und mit ihm alles weitere abzusprechen.
Heute habe ich zuf&#228;llig im "International PHP Magazine Newsletter" eine Alternative zum Includen (worauf HSTemplate basiert) entdeckt. Interessant sind schon die Performanceunterschiede, die der Entwickler auf seiner Seite darstellt. Die Template Engine "Blitz" ist eine Erweiterung f&#252;r PHP und somit logischerweise schneller als eine "normale" PHP Klasse. Die Include-Methode schafft auf dem Testrechner ~737 Requests in der Sekunde. Blitz ist um ca. 8% schneller als Includen (h&#246;here Req./s). Sehr interessant ist die Performance von Smarty: Templates mit Smarty sind um ca. 20% (!) langsamer als Includen!
Der Programmierer bezeichnet Blitz als "leistungsf&#228;hige Template Engine f&#252;r sehr gro&#223;e Internetprojekte". Zu erw&#228;hnen ist allerdings, dass die Inhalte NICHT gecacht wurden. Bei aktiviertem Caching d&#252;rften die Ergebnisse anders ausfallen.
Da ich nicht gerne externe Extensions wegen Portabilit&#228;tsgr&#252;nden einsetze, werde ich auch weiterhin "include" verwenden, zumal Blitz nur 8% mehr Req./s als "include" hat. F&#252;r sehr gro&#223;e Internet Projekte, bei denen es um ms ankommt, sollte man doch abw&#228;gen, eine Extension zu verwenden, da in diesem Fall das Script nicht portabel sein muss.
http://alexeyrybak.com/blitz/blitz_en.html

Gru&#223;
Tim</description>
		<content:encoded><![CDATA[<p>Hallo timi,</p>
<p>danke f&#252;r die schnelle Antwort.</p>
<p>Leider habe ich keinen eigenen Blog, da mir die Zeit dazu fehlt.<br />
Ich dachte immer, file_get_contents gebe es erst seit PHP 5. Danke f&#252;r die Info.<br />
Das beste w&#228;re wirklich, den Entwickler von HSTemplate zu kontaktieren und mit ihm alles weitere abzusprechen.<br />
Heute habe ich zuf&#228;llig im &#8220;International PHP Magazine Newsletter&#8221; eine Alternative zum Includen (worauf HSTemplate basiert) entdeckt. Interessant sind schon die Performanceunterschiede, die der Entwickler auf seiner Seite darstellt. Die Template Engine &#8220;Blitz&#8221; ist eine Erweiterung f&#252;r PHP und somit logischerweise schneller als eine &#8220;normale&#8221; PHP Klasse. Die Include-Methode schafft auf dem Testrechner ~737 Requests in der Sekunde. Blitz ist um ca. 8% schneller als Includen (h&#246;here Req./s). Sehr interessant ist die Performance von Smarty: Templates mit Smarty sind um ca. 20% (!) langsamer als Includen!<br />
Der Programmierer bezeichnet Blitz als &#8220;leistungsf&#228;hige Template Engine f&#252;r sehr gro&#223;e Internetprojekte&#8221;. Zu erw&#228;hnen ist allerdings, dass die Inhalte NICHT gecacht wurden. Bei aktiviertem Caching d&#252;rften die Ergebnisse anders ausfallen.<br />
Da ich nicht gerne externe Extensions wegen Portabilit&#228;tsgr&#252;nden einsetze, werde ich auch weiterhin &#8220;include&#8221; verwenden, zumal Blitz nur 8% mehr Req./s als &#8220;include&#8221; hat. F&#252;r sehr gro&#223;e Internet Projekte, bei denen es um ms ankommt, sollte man doch abw&#228;gen, eine Extension zu verwenden, da in diesem Fall das Script nicht portabel sein muss.<br />
<a href="http://alexeyrybak.com/blitz/blitz_en.html" rel="nofollow"></a><a href='http://alexeyrybak.com/blitz/blitz_en.html'>http://alexeyrybak.com/blitz/blitz_en.html</a></p>
<p>Gru&#223;<br />
Tim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-185</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Mon, 09 Jul 2007 17:43:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-185</guid>
		<description>Hallo Tim,

danke f&#252;r Deinen ausf&#252;hrlichen Kommentar. Einen Dateimodus 'at' gibts in der Tat nicht. Um die Datei neu zu schreiben langt 'w', wie Du ja auch schon festgestellt hast. Die Funktion file_get_contents gibts aber schon seit PHP 4.3 ...

Wenn Du ein Open Source Projekt bearbeitest und verbesserst, ist es am besten, dem Autor der Klasse Deine modifizierte Version zukommen zu lassen. Er entscheidet dann, welche &#196;nderungen er in das Haupt-Release einflie&#223;en lassen m&#246;chte. Wenn Deine Version der Klasse entscheidende Vorteile im Gegensatz zu der des Ursprungsautors hat, lohnt es sich die Klasse einem breiteren Publikum vorzustellen und als Download anzubieten.

Wenn Du kein eigenes (oder ein noch sehr junges) Blog hast, kannst Du mir gerne die Klasse(n) mit einer Beschreibung Deiner Ver&#228;nderungen schicken und wir stellen Sie beim PHP Blogger vor.

Zur Lizenz: Wenn eine GPL-Gesch&#252;tzte Applikation oder Klasse ver&#228;nderst oder in Deiner Applikation einsetzt, sind sowohl Deine Applikation als auch die Klasse ebenfalls unter die GPL zu setzen. Bei der Applikation gibt es noch ein paar Ausnahmen bei in sich geschlossenen Modulen, aber im Gro&#223;en und Ganzen ist es so wie beschrieben.</description>
		<content:encoded><![CDATA[<p>Hallo Tim,</p>
<p>danke f&#252;r Deinen ausf&#252;hrlichen Kommentar. Einen Dateimodus &#8216;at&#8217; gibts in der Tat nicht. Um die Datei neu zu schreiben langt &#8216;w&#8217;, wie Du ja auch schon festgestellt hast. Die Funktion file_get_contents gibts aber schon seit PHP 4.3 &#8230;</p>
<p>Wenn Du ein Open Source Projekt bearbeitest und verbesserst, ist es am besten, dem Autor der Klasse Deine modifizierte Version zukommen zu lassen. Er entscheidet dann, welche &#196;nderungen er in das Haupt-Release einflie&#223;en lassen m&#246;chte. Wenn Deine Version der Klasse entscheidende Vorteile im Gegensatz zu der des Ursprungsautors hat, lohnt es sich die Klasse einem breiteren Publikum vorzustellen und als Download anzubieten.</p>
<p>Wenn Du kein eigenes (oder ein noch sehr junges) Blog hast, kannst Du mir gerne die Klasse(n) mit einer Beschreibung Deiner Ver&#228;nderungen schicken und wir stellen Sie beim PHP Blogger vor.</p>
<p>Zur Lizenz: Wenn eine GPL-Gesch&#252;tzte Applikation oder Klasse ver&#228;nderst oder in Deiner Applikation einsetzt, sind sowohl Deine Applikation als auch die Klasse ebenfalls unter die GPL zu setzen. Bei der Applikation gibt es noch ein paar Ausnahmen bei in sich geschlossenen Modulen, aber im Gro&#223;en und Ganzen ist es so wie beschrieben.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: tim</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-184</link>
		<dc:creator>tim</dc:creator>
		<pubDate>Mon, 09 Jul 2007 16:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-184</guid>
		<description>Danke f&#252;r den ausf&#252;hrlichen Artikel. Ich habe beide Template Engines miteinander verglichen und habe mich f&#252;r HSTemplate entschieden. HSTemplate machte bereits in den Beispielcodes auf der Seite einen guten Eindruck. Allerdings brauchte ich lange, um das System zu verstehen. HSTemplate ist bereits sehr schnell, aber nicht f&#252;r PHP 5 optimiert. Daher habe ich mich an die Arbeit gemacht und angefangen, die Klasse zu &#252;berarbeiten. Zuerst ist mir aufgefallen, dass man das Auslesen gecachter Inhalte optimieren k&#246;nnte. Diese Stelle habe ich nicht verstanden:

unlink();
...
fopen(..., 'at');

Was bedeutet dieses t? Der Entwickler AntonShevchuk wollte wahrscheinlich ein + schreiben. Diese zwei Zeilen bedeuten anscheinend, dass die Datei gel&#246;scht werden soll und dann wieder neu erstellt wird, um den Inhalt zu schreiben. Man k&#246;nnte direkt "w" schreiben, sodass die L&#228;nge der Datei auf 0 gesetzt wird.
Wenn der Inhalt der Datei ausgegeben werden soll, sollte man readfile() verwenden. Ansonsten sollte man file_get_contents() benutzen, da fopen() + fgets() langsamer ist. Die Klasse ist anscheinend f&#252;r PHP 4 programmiert (deshalb wurde file_get_contents() anscheinend nicht eingesetzt). Das Initiieren der Klasse &#252;ber Arrays war mir etwas umst&#228;ndlich, deshalb habe ich die Funktionen setTemplatePath() und setCachePath() eingef&#252;hrt. Um den Debug Modus zu aktivieren, verwende ich setDebug(true);
N&#252;tzliche Funktionen, die man aus anderen Templatesystemen kennt, wie z. B. assigned(), clear(), clearAll() habe ich sowohl f&#252;r globale Variablen als auch f&#252;r private eingebaut. Trotz der vielen &#196;nderungen ist die Datei um 5 KB schneller und FasterFox zeigt mir sogar eine Geschwindigkeitssteigerung von 50% an (!). Wenn ich etwas mehr Zeit habe, werde ich den Debug Modus vollst&#228;ndig implementieren und eine Funktion, zum Setzen eines Error-Handlers einbauen (setErrorHandler()). Falls Interesse an der Klasse besteht, werde ich diese, sobald sie fertig ist, Open-Source ver&#246;ffentlichen. Allerdings wei&#223; leider ich noch nicht, wie es lizenzrechtlich aussieht: Die Klasse basiert in den "Grundz&#252;gen" (Konzept) auf HSTemplate. Welche Lizenz muss ich verwenden, wenn ich sie ver&#246;ffentlichen w&#252;rde?
Da ich leider mit anderen Projekten besch&#228;ftigt bin und eine sehr schnelle Template Engine brauchte, musste ich mich mit HSTemplate notgedrungen besch&#228;ftigen und bin mit dem Ergebnis mehr als zufrieden. Da ich in meinen alten Projekten nur Smarty eingesetzt habe, wird es noch einige Zeit in Anspruch nehmen, alles auf HSTemplate umzur&#252;sten.

Gru&#223;
Tim</description>
		<content:encoded><![CDATA[<p>Danke f&#252;r den ausf&#252;hrlichen Artikel. Ich habe beide Template Engines miteinander verglichen und habe mich f&#252;r HSTemplate entschieden. HSTemplate machte bereits in den Beispielcodes auf der Seite einen guten Eindruck. Allerdings brauchte ich lange, um das System zu verstehen. HSTemplate ist bereits sehr schnell, aber nicht f&#252;r PHP 5 optimiert. Daher habe ich mich an die Arbeit gemacht und angefangen, die Klasse zu &#252;berarbeiten. Zuerst ist mir aufgefallen, dass man das Auslesen gecachter Inhalte optimieren k&#246;nnte. Diese Stelle habe ich nicht verstanden:</p>
<p>unlink();<br />
&#8230;<br />
fopen(&#8230;, &#8216;at&#8217;);</p>
<p>Was bedeutet dieses t? Der Entwickler AntonShevchuk wollte wahrscheinlich ein + schreiben. Diese zwei Zeilen bedeuten anscheinend, dass die Datei gel&#246;scht werden soll und dann wieder neu erstellt wird, um den Inhalt zu schreiben. Man k&#246;nnte direkt &#8220;w&#8221; schreiben, sodass die L&#228;nge der Datei auf 0 gesetzt wird.<br />
Wenn der Inhalt der Datei ausgegeben werden soll, sollte man readfile() verwenden. Ansonsten sollte man file_get_contents() benutzen, da fopen() + fgets() langsamer ist. Die Klasse ist anscheinend f&#252;r PHP 4 programmiert (deshalb wurde file_get_contents() anscheinend nicht eingesetzt). Das Initiieren der Klasse &#252;ber Arrays war mir etwas umst&#228;ndlich, deshalb habe ich die Funktionen setTemplatePath() und setCachePath() eingef&#252;hrt. Um den Debug Modus zu aktivieren, verwende ich setDebug(true);<br />
N&#252;tzliche Funktionen, die man aus anderen Templatesystemen kennt, wie z. B. assigned(), clear(), clearAll() habe ich sowohl f&#252;r globale Variablen als auch f&#252;r private eingebaut. Trotz der vielen &#196;nderungen ist die Datei um 5 KB schneller und FasterFox zeigt mir sogar eine Geschwindigkeitssteigerung von 50% an (!). Wenn ich etwas mehr Zeit habe, werde ich den Debug Modus vollst&#228;ndig implementieren und eine Funktion, zum Setzen eines Error-Handlers einbauen (setErrorHandler()). Falls Interesse an der Klasse besteht, werde ich diese, sobald sie fertig ist, Open-Source ver&#246;ffentlichen. Allerdings wei&#223; leider ich noch nicht, wie es lizenzrechtlich aussieht: Die Klasse basiert in den &#8220;Grundz&#252;gen&#8221; (Konzept) auf HSTemplate. Welche Lizenz muss ich verwenden, wenn ich sie ver&#246;ffentlichen w&#252;rde?<br />
Da ich leider mit anderen Projekten besch&#228;ftigt bin und eine sehr schnelle Template Engine brauchte, musste ich mich mit HSTemplate notgedrungen besch&#228;ftigen und bin mit dem Ergebnis mehr als zufrieden. Da ich in meinen alten Projekten nur Smarty eingesetzt habe, wird es noch einige Zeit in Anspruch nehmen, alles auf HSTemplate umzur&#252;sten.</p>
<p>Gru&#223;<br />
Tim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Anton Shevchuk</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-167</link>
		<dc:creator>Anton Shevchuk</dc:creator>
		<pubDate>Sun, 08 Jul 2007 17:03:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-167</guid>
		<description>You can visit &lt;a href='http://anton.shevchuk.name/projects/hstemplate'&gt;HSTemplate project homepage&lt;/a&gt; on russian and english languages.</description>
		<content:encoded><![CDATA[<p>You can visit <a href='http://anton.shevchuk.name/projects/hstemplate'>HSTemplate project homepage</a> on russian and english languages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Buch gesucht, OOP / Templates - Seite 2 - PHP @ tutorials.de: Forum, Tutorial, Anleitung, Schulung &#38; Hilfe</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-166</link>
		<dc:creator>Buch gesucht, OOP / Templates - Seite 2 - PHP @ tutorials.de: Forum, Tutorial, Anleitung, Schulung &#38; Hilfe</dc:creator>
		<pubDate>Fri, 06 Jul 2007 18:24:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-166</guid>
		<description>[...]  Die Smarty-Dokumentation habe ich mir durchgelesen, verstehe es soweit auch ganz gut, nur hat mich das hier ziemlisch verunsichert. Smarty = langsam? Will ich ja eigentlich nich unbedingt..ein [...]</description>
		<content:encoded><![CDATA[<p>[...]  Die Smarty-Dokumentation habe ich mir durchgelesen, verstehe es soweit auch ganz gut, nur hat mich das hier ziemlisch verunsichert. Smarty = langsam? Will ich ja eigentlich nich unbedingt..ein [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: DrSoong</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-130</link>
		<dc:creator>DrSoong</dc:creator>
		<pubDate>Sat, 09 Jun 2007 08:02:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-130</guid>
		<description>Das mit den Schleifen bei HST ist mir auch aufgefallen, Geschwindigkeit in Ehren aber f&#252;r einige Seiten braucht man doch die M&#246;glichkeit, Bl&#246;cke aufzubauen.

Mir sind aber auf phpclasses.org noch andere Template-Engines aufgefallen, werd da mal ein paar durchtesten welche sich f&#252;r mich eignet. Ansonsten hei&#223;t es selbst ist der Mann.


Der Doc!</description>
		<content:encoded><![CDATA[<p>Das mit den Schleifen bei HST ist mir auch aufgefallen, Geschwindigkeit in Ehren aber f&#252;r einige Seiten braucht man doch die M&#246;glichkeit, Bl&#246;cke aufzubauen.</p>
<p>Mir sind aber auf phpclasses.org noch andere Template-Engines aufgefallen, werd da mal ein paar durchtesten welche sich f&#252;r mich eignet. Ansonsten hei&#223;t es selbst ist der Mann.</p>
<p>Der Doc!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jan</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-92</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Sat, 02 Jun 2007 22:38:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-92</guid>
		<description>Hey...
Danke f&#252;r den Artikel.

Ich setze mich gerade auch mal mit HSTemplates auseinander und finde es bisher sch&#246;n handlich und auch schnell...

Allerdings bekomme ich momentan nicht heraus, wie ich mehrere Templates aneinanderketten kann, z. B. f&#252;r eine Schleife.

Auch kann ich anscheinend nicht mehrmals die gleiche Templatedatei einbinden, jeweils unter einem anderen Alias... Ich muss immer eine andere Datei einbinden...</description>
		<content:encoded><![CDATA[<p>Hey&#8230;<br />
Danke f&#252;r den Artikel.</p>
<p>Ich setze mich gerade auch mal mit HSTemplates auseinander und finde es bisher sch&#246;n handlich und auch schnell&#8230;</p>
<p>Allerdings bekomme ich momentan nicht heraus, wie ich mehrere Templates aneinanderketten kann, z. B. f&#252;r eine Schleife.</p>
<p>Auch kann ich anscheinend nicht mehrmals die gleiche Templatedatei einbinden, jeweils unter einem anderen Alias&#8230; Ich muss immer eine andere Datei einbinden&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-89</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Wed, 30 May 2007 15:55:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/05/29/die-templates-die-ich-rief/#comment-89</guid>
		<description>Na es heisst hoffentlich nicht umsonst HighSpeed-Template...</description>
		<content:encoded><![CDATA[<p>Na es heisst hoffentlich nicht umsonst HighSpeed-Template&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

