<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.geeklog.net/index.php?action=history&amp;feed=atom&amp;title=Template_Engines</id>
		<title>Template Engines - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.geeklog.net/index.php?action=history&amp;feed=atom&amp;title=Template_Engines"/>
		<link rel="alternate" type="text/html" href="http://wiki.geeklog.net/index.php?title=Template_Engines&amp;action=history"/>
		<updated>2026-04-06T11:52:40Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.5</generator>

	<entry>
		<id>http://wiki.geeklog.net/index.php?title=Template_Engines&amp;diff=3042&amp;oldid=prev</id>
		<title>Tony at 18:05, 16 May 2005</title>
		<link rel="alternate" type="text/html" href="http://wiki.geeklog.net/index.php?title=Template_Engines&amp;diff=3042&amp;oldid=prev"/>
				<updated>2005-05-16T18:05:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:05, 16 May 2005&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Talk to PHP developers and almost all of them have a strong opinion on what the best HTML Template Engine is.&amp;#160; Coke, Pepsi, Shasta...who cares?&amp;#160; Well, we don't&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;#160; Well.&lt;/del&gt;...sort of.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Talk to PHP developers and almost all of them have a strong opinion on what the best HTML Template Engine is.&amp;#160; Coke, Pepsi, Shasta...who cares?&amp;#160; Well, we don't...sort of.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default template engine for Geeklog 2 is going to be [http://pear.php.net/package/HTML_Template_Flexy PEAR::HTML_Template_Flexy].&amp;#160; I could go into the reasoning for this decision but I won't because, frankly, it doesn't matter.&amp;#160; While Flexy is the default engine, with little work, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/del&gt;GL2 developer could create MVC-based views that used any template engine they wanted.&amp;#160; However, I will say this...choosing one other than Flexy should be given some serious thought because as soon as you start using another engine, you are going to 'upset' theme developers who would &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;now &lt;/del&gt;have to learn yet another template engine.&amp;#160; So while the architecture for Geeklog 2 supports the ability to use other template engines, we will strongly discourge using anything other than Flexy.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The default template engine for Geeklog 2 is going to be [http://pear.php.net/package/HTML_Template_Flexy PEAR::HTML_Template_Flexy].&amp;#160; I could go into the reasoning for this decision but I won't because, frankly, it doesn't matter.&amp;#160; While Flexy is the default engine, with &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;little work, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;any &lt;/ins&gt;GL2 developer could create MVC-based views that used any template engine they wanted.&amp;#160; However, I will say this...choosing one other than Flexy should be given some serious thought because as soon as you start using another engine, you are going to 'upset' theme developers who would have to learn yet another template engine.&amp;#160; So while the architecture for Geeklog 2 supports the ability to use other template engines, we will strongly discourge using anything other than Flexy.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For those of you out there that simply want to know why the 1.3.x template engine is being replaced and don't care too much what is replacing it, the answer is simple.&amp;#160; The 1.3.x engine &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;using &lt;/del&gt;a lot of regular expressions which perform poorly and, on larger Geeklog &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;site &lt;/del&gt;(say, [http://www.groklaw.net Groklaw]), it has consumed memory to the point of exhaustion.&amp;#160; Flexy gets around this by taking an HTML template and 'compiling' it into PHP code.&amp;#160; The 'compiled' PHP version of a template runs significantly faster and doesn't have the same memory problems.&amp;#160; Other reasons for using Flexy is it supports control stuctures (FOR loops, IF statements) and allows for methods on the view that uses it to be called.&amp;#160; Other &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;templates &lt;/del&gt;support &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;similar &lt;/del&gt;features, but Flexy is the one we chose.&amp;#160; If you aren't happy about this decision feel free to curse my name but&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;please&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;don't bother contacting with any complaints.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For those of you out there that simply want to know why the 1.3.x template engine is being replaced and don't care too much what is replacing it, the answer is simple.&amp;#160; The 1.3.x engine &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;uses &lt;/ins&gt;a lot of regular expressions which perform poorly and, on larger Geeklog &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sites &lt;/ins&gt;(say, [http://www.groklaw.net Groklaw]), it has consumed memory to the point of exhaustion.&amp;#160; Flexy gets around this by taking an HTML template and 'compiling' it into PHP code.&amp;#160; The 'compiled' PHP version of a template runs significantly faster and doesn't have the same memory problems.&amp;#160; Other reasons for using Flexy is it supports control stuctures (FOR loops, IF statements) and allows for methods on the view that uses it to be called&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;#160; Flexy also has native translation support&lt;/ins&gt;.&amp;#160; Other &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;template engines &lt;/ins&gt;support &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;some of these &lt;/ins&gt;features, but Flexy is the one we chose.&amp;#160; If you aren't happy about this decision feel free to curse my name but please don't bother contacting &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;me &lt;/ins&gt;with any complaints.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I am confident the open-minded will find Flexy a quite capable templating system.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I am confident the open-minded will find Flexy a quite capable templating system.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tony</name></author>	</entry>

	<entry>
		<id>http://wiki.geeklog.net/index.php?title=Template_Engines&amp;diff=1272&amp;oldid=prev</id>
		<title>Tony at 15:40, 16 May 2005</title>
		<link rel="alternate" type="text/html" href="http://wiki.geeklog.net/index.php?title=Template_Engines&amp;diff=1272&amp;oldid=prev"/>
				<updated>2005-05-16T15:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Talk to PHP developers and almost all of them have a strong opinion on what the best HTML Template Engine is.  Coke, Pepsi, Shasta...who cares?  Well, we don't.  Well....sort of.&lt;br /&gt;
&lt;br /&gt;
The default template engine for Geeklog 2 is going to be [http://pear.php.net/package/HTML_Template_Flexy PEAR::HTML_Template_Flexy].  I could go into the reasoning for this decision but I won't because, frankly, it doesn't matter.  While Flexy is the default engine, with little work, a GL2 developer could create MVC-based views that used any template engine they wanted.  However, I will say this...choosing one other than Flexy should be given some serious thought because as soon as you start using another engine, you are going to 'upset' theme developers who would now have to learn yet another template engine.  So while the architecture for Geeklog 2 supports the ability to use other template engines, we will strongly discourge using anything other than Flexy.&lt;br /&gt;
&lt;br /&gt;
For those of you out there that simply want to know why the 1.3.x template engine is being replaced and don't care too much what is replacing it, the answer is simple.  The 1.3.x engine using a lot of regular expressions which perform poorly and, on larger Geeklog site (say, [http://www.groklaw.net Groklaw]), it has consumed memory to the point of exhaustion.  Flexy gets around this by taking an HTML template and 'compiling' it into PHP code.  The 'compiled' PHP version of a template runs significantly faster and doesn't have the same memory problems.  Other reasons for using Flexy is it supports control stuctures (FOR loops, IF statements) and allows for methods on the view that uses it to be called.  Other templates support similar features, but Flexy is the one we chose.  If you aren't happy about this decision feel free to curse my name but, please, don't bother contacting with any complaints.&lt;br /&gt;
&lt;br /&gt;
I am confident the open-minded will find Flexy a quite capable templating system.&lt;/div&gt;</summary>
		<author><name>Tony</name></author>	</entry>

	</feed>