<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Stop Using PHP Template Engines Once And For All (Why Smarty Is Evil)</title>
	<atom:link href="http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/feed/" rel="self" type="application/rss+xml" />
	<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/</link>
	<description>Bobby Handzhiev on Web, Technology And Small Business</description>
	<lastBuildDate>Tue, 03 Jan 2012 22:16:08 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	<item>
		<title>By: Lincoln Dornbos</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-19427</link>
		<dc:creator>Lincoln Dornbos</dc:creator>
		<pubDate>Mon, 25 Oct 2010 04:56:38 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-19427</guid>
		<description>was hoping to find this content here for a long time! cheers mate!</description>
		<content:encoded><![CDATA[<p>was hoping to find this content here for a long time! cheers mate!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-9536</link>
		<dc:creator>Jose</dc:creator>
		<pubDate>Sat, 05 Sep 2009 23:18:43 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-9536</guid>
		<description>one more thing.. creating their own psuedo-language was a really asinine and pointless idea.  if they woud have avoided that they would have avoided much of their own demise.  i would enjoy slapping the person that came up with that idea.  like in the face.. for like 10 minutes...dot com.  =)  es como q no mames wey se paso de verga hahahaha</description>
		<content:encoded><![CDATA[<p>one more thing.. creating their own psuedo-language was a really asinine and pointless idea.  if they woud have avoided that they would have avoided much of their own demise.  i would enjoy slapping the person that came up with that idea.  like in the face.. for like 10 minutes&#8230;dot com.  =)  es como q no mames wey se paso de verga hahahaha</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-9535</link>
		<dc:creator>Jose</dc:creator>
		<pubDate>Sat, 05 Sep 2009 23:15:10 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-9535</guid>
		<description>Correction: falied at* grasping*</description>
		<content:encoded><![CDATA[<p>Correction: falied at* grasping*</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-9534</link>
		<dc:creator>Jose</dc:creator>
		<pubDate>Sat, 05 Sep 2009 23:06:32 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-9534</guid>
		<description>Ok, I only had to read the first 10 comments or so to truly get a feel for what people think of this article.  My conclusion, smarty was one of the first attempts at breaking away from Model 1 programming in the early versions of PHP.  It was a nice attempt but it fails.  Those who refuse to understand or accept the reason WHY it&#039;s such a failure are foolish. Period.  Smarty puts a strain on applying MVC and DRY concepts to your code which would make it much more flexible and reusable.  Those hell bent on using Smarty are simply being childishly stubborn.  Let&#039;s all thank Smarty for trying and, although they failed and grasping the true beauty of MVC, they gave it their best.

It reminds so much of Zip Drives.  Even though they were much bigger than floppy disks... it&#039;s like.. sorry Zip Drives but we just don&#039;t need you anymore.  We have flash drives now =)</description>
		<content:encoded><![CDATA[<p>Ok, I only had to read the first 10 comments or so to truly get a feel for what people think of this article.  My conclusion, smarty was one of the first attempts at breaking away from Model 1 programming in the early versions of PHP.  It was a nice attempt but it fails.  Those who refuse to understand or accept the reason WHY it&#8217;s such a failure are foolish. Period.  Smarty puts a strain on applying MVC and DRY concepts to your code which would make it much more flexible and reusable.  Those hell bent on using Smarty are simply being childishly stubborn.  Let&#8217;s all thank Smarty for trying and, although they failed and grasping the true beauty of MVC, they gave it their best.</p>
<p>It reminds so much of Zip Drives.  Even though they were much bigger than floppy disks&#8230; it&#8217;s like.. sorry Zip Drives but we just don&#8217;t need you anymore.  We have flash drives now =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ChrisH</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-7928</link>
		<dc:creator>ChrisH</dc:creator>
		<pubDate>Mon, 06 Jul 2009 10:22:50 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-7928</guid>
		<description>Hey good article. I wont be using Smarty again (hopefully) :) just started using Zend Framework much easier doing MVC</description>
		<content:encoded><![CDATA[<p>Hey good article. I wont be using Smarty again (hopefully) <img src='http://pimteam.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  just started using Zend Framework much easier doing MVC</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: diyism</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-3332</link>
		<dc:creator>diyism</dc:creator>
		<pubDate>Wed, 04 Mar 2009 10:43:53 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-3332</guid>
		<description>Whole world php guys, try my &quot;damn small php template methodology&quot;:

my_tpl.php:
&lt;?
function&#160;my_foreach($dat,$tpl)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{$if=&#039;my_if&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$htm=&#039;&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foreach&#160;($dat&#160;as&#160;$v)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{extract($v);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$htm.=eval(&#039;return&#160;&quot;&#039;.$tpl.&#039;&quot;;&#039;);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return&#160;$htm;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

function&#160;my_if($case,$yes,$no)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{return&#160;$case?$yes:$no;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

function&#160;my_tpl($dat,$tpl)
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{$my_tpl=&#039;my_tpl&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$import=&#039;my_import&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$foreach=&#039;my_foreach&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$if=&#039;my_if&#039;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;extract($dat);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$tpl=file_get_contents($tpl);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$htm=eval(&#039;return&#160;&quot;&#039;.$tpl.&#039;&quot;;&#039;);
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return&#160;$htm;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}
?&gt;

test.tpl:
{$company}&#160;Employee:&lt;br&gt;
&lt;br&gt;
{$foreach($info,&lt;&lt;&lt;&#039;FUN&#039;
Info:{$if(&quot;{$name}&quot;==&#039;jack&#039;,&quot;Name:{$name}Tel:{$tel}&quot;,&#039;private&#039;)}&lt;br&gt;
FUN
)}
&lt;br&gt;
{$foreach($info,&lt;&lt;&lt;&#039;FUN&#039;
Name:{$name}Tel:{$tel}&lt;br&gt;
FUN
)}
&lt;br&gt;
&quot;Member&quot;:{$if(&quot;{$flag}&quot;==&#039;1&#039;,&#039;yes&#039;,$if(&quot;{$flag}&quot;==&#039;0&#039;,&#039;no&#039;,&#039;&#039;))}&lt;br&gt;
&lt;br&gt;
{$my_tpl($dat,&#039;footer.tpl&#039;)}

footer.tpl:
Bye,&#160;{$company}

test.php:
&lt;?
require_once&#160;&#039;my_tpl.php&#039;;

$the_name=&#039;Company&#160;A&#039;;
$d[&#039;company&#039;]=$the_name;
$d[&#039;info&#039;][0]=array(&#039;name&#039;=&gt;&#039;kexianbin&#039;,&#039;tel&#039;=&gt;&#039;7894&#039;);
$d[&#039;info&#039;][1]=array(&#039;name&#039;=&gt;&#039;jack&#039;,&#039;tel&#039;=&gt;&#039;7411&#039;);
$d[&#039;flag&#039;]=&#039;1&#039;;

echo&#160;my_tpl($d,&#039;test.tpl&#039;);
?&gt;</description>
		<content:encoded><![CDATA[<p>Whole world php guys, try my &#8220;damn small php template methodology&#8221;:</p>
<p>my_tpl.php:<br />
&lt;?<br />
function&nbsp;my_foreach($dat,$tpl)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$if=&#8217;my_if&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$htm=&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($dat&nbsp;as&nbsp;$v)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{extract($v);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$htm.=eval(&#8216;return&nbsp;&#8221;&#8216;.$tpl.&#8217;&#8221;;&#8217;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$htm;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>function&nbsp;my_if($case,$yes,$no)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{return&nbsp;$case?$yes:$no;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>function&nbsp;my_tpl($dat,$tpl)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{$my_tpl=&#8217;my_tpl&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$import=&#8217;my_import&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$foreach=&#8217;my_foreach&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$if=&#8217;my_if&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extract($dat);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tpl=file_get_contents($tpl);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$htm=eval(&#8216;return&nbsp;&#8221;&#8216;.$tpl.&#8217;&#8221;;&#8217;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$htm;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
?&gt;</p>
<p>test.tpl:<br />
{$company}&nbsp;Employee:&lt;br&gt;<br />
&lt;br&gt;<br />
{$foreach($info,&lt;&lt;&lt;&#8217;FUN&#8217;<br />
Info:{$if(&#8220;{$name}&#8221;==&#8217;jack&#8217;,&#8221;Name:{$name}Tel:{$tel}&#8221;,&#8217;private&#8217;)}&lt;br&gt;<br />
FUN<br />
)}<br />
&lt;br&gt;<br />
{$foreach($info,&lt;&lt;&lt;&#8217;FUN&#8217;<br />
Name:{$name}Tel:{$tel}&lt;br&gt;<br />
FUN<br />
)}<br />
&lt;br&gt;<br />
&quot;Member&quot;:{$if(&#8220;{$flag}&#8221;==&#8217;1&#8242;,&#8217;yes&#8217;,$if(&#8220;{$flag}&#8221;==&#8217;0&#8242;,&#8217;no&#8217;,&#8221;))}&lt;br&gt;<br />
&lt;br&gt;<br />
{$my_tpl($dat,&#8217;footer.tpl&#8217;)}</p>
<p>footer.tpl:<br />
Bye,&nbsp;{$company}</p>
<p>test.php:<br />
&lt;?<br />
require_once&nbsp;&#8217;my_tpl.php&#8217;;</p>
<p>$the_name=&#8217;Company&nbsp;A&#8217;;<br />
$d['company']=$the_name;<br />
$d['info'][0]=array(&#8216;name&#8217;=&gt;&#8217;kexianbin&#8217;,'tel&#8217;=&gt;&#8217;7894&#8242;);<br />
$d['info'][1]=array(&#8216;name&#8217;=&gt;&#8217;jack&#8217;,'tel&#8217;=&gt;&#8217;7411&#8242;);<br />
$d['flag']=&#8217;1&#8242;;</p>
<p>echo&nbsp;my_tpl($d,&#8217;test.tpl&#8217;);<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: diyism</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-3331</link>
		<dc:creator>diyism</dc:creator>
		<pubDate>Wed, 04 Mar 2009 10:42:31 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-3331</guid>
		<description>Whole world php guys, try my &quot;damn small php template methodology&quot;:

my_tpl.php:


test.tpl:
{$company}&#160;Employee:

{$foreach($info,
FUN
)}

{$foreach($info,
FUN
)}

&quot;Member&quot;:{$if(&quot;{$flag}&quot;==&#039;1&#039;,&#039;yes&#039;,$if(&quot;{$flag}&quot;==&#039;0&#039;,&#039;no&#039;,&#039;&#039;))}

{$my_tpl($dat,&#039;footer.tpl&#039;)}

footer.tpl:
Bye, {$company}

test.php:
&#039;kexianbin&#039;,&#039;tel&#039;=&gt;&#039;7894&#039;);
$d[&#039;info&#039;][1]=array(&#039;name&#039;=&gt;&#039;jack&#039;,&#039;tel&#039;=&gt;&#039;7411&#039;);
$d[&#039;flag&#039;]=&#039;1&#039;;

echo my_tpl($d,&#039;test.tpl&#039;);
?&gt;</description>
		<content:encoded><![CDATA[<p>Whole world php guys, try my &#8220;damn small php template methodology&#8221;:</p>
<p>my_tpl.php:</p>
<p>test.tpl:<br />
{$company}&nbsp;Employee:</p>
<p>{$foreach($info,<br />
FUN<br />
)}</p>
<p>{$foreach($info,<br />
FUN<br />
)}</p>
<p>&quot;Member&quot;:{$if(&#8220;{$flag}&#8221;==&#8217;1&#8242;,&#8217;yes&#8217;,$if(&#8220;{$flag}&#8221;==&#8217;0&#8242;,&#8217;no&#8217;,&#8221;))}</p>
<p>{$my_tpl($dat,&#8217;footer.tpl&#8217;)}</p>
<p>footer.tpl:<br />
Bye, {$company}</p>
<p>test.php:<br />
&#8216;kexianbin&#8217;,'tel&#8217;=&gt;&#8217;7894&#8242;);<br />
$d['info'][1]=array(&#8216;name&#8217;=&gt;&#8217;jack&#8217;,'tel&#8217;=&gt;&#8217;7411&#8242;);<br />
$d['flag']=&#8217;1&#8242;;</p>
<p>echo my_tpl($d,&#8217;test.tpl&#8217;);<br />
?&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emilis</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-1901</link>
		<dc:creator>Emilis</dc:creator>
		<pubDate>Wed, 17 Dec 2008 20:13:46 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-1901</guid>
		<description>It is not a new idea. I came to the same conclusions on my own 5 years ago. I also liked Harry Fuecks article at the time:
http://www.phppatterns.com/docs/design/templates_and_template_engines

However it is a point worth stating again and again, because some people never learn better. So I congratulate the author for this article :-).

K.I.S.S.</description>
		<content:encoded><![CDATA[<p>It is not a new idea. I came to the same conclusions on my own 5 years ago. I also liked Harry Fuecks article at the time:<br />
<a href="http://www.phppatterns.com/docs/design/templates_and_template_engines" rel="nofollow">http://www.phppatterns.com/docs/design/templates_and_template_engines</a></p>
<p>However it is a point worth stating again and again, because some people never learn better. So I congratulate the author for this article <img src='http://pimteam.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>K.I.S.S.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: erkulas</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-1899</link>
		<dc:creator>erkulas</dc:creator>
		<pubDate>Wed, 17 Dec 2008 12:47:32 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-1899</guid>
		<description>Any decent developer has come to the same conclusion as the author. And the conclusion is that you NEED MVC style when developing web applications but you DON&#039;T NEED specifically Smarty or even some framework (CakePHP).

If you don&#039;t want to write the templating engine yourself (easily doable in 20 lines of code) use Savant. That is non compiling template engine for PHP using PHP as templating language. It is even somewhat compatible with Smarty on API level. I have used mixture of both (Smarty as legacy, Savant for new things) on projects.</description>
		<content:encoded><![CDATA[<p>Any decent developer has come to the same conclusion as the author. And the conclusion is that you NEED MVC style when developing web applications but you DON&#8217;T NEED specifically Smarty or even some framework (CakePHP).</p>
<p>If you don&#8217;t want to write the templating engine yourself (easily doable in 20 lines of code) use Savant. That is non compiling template engine for PHP using PHP as templating language. It is even somewhat compatible with Smarty on API level. I have used mixture of both (Smarty as legacy, Savant for new things) on projects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dennis</title>
		<link>http://pimteam.net/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/comment-page-1/#comment-1748</link>
		<dc:creator>Dennis</dc:creator>
		<pubDate>Wed, 26 Nov 2008 04:58:12 +0000</pubDate>
		<guid isPermaLink="false">http://pimteam.net/2008/01/06/stop-using-php-template-engines-once-and-for-all-why-smarty-is-evil/#comment-1748</guid>
		<description>Daniel,

What if we are talking about a program that will be publicly downloadable?  For example a forum.  I download a forum that uses native PHP templating.  I then go to a templates site, and download a nice template, and install it to my forum.  But little do I know, since it is a PHP template, that the author has snuck some extra PHP in:

if ($_POST[&#039;do_exploit&#039;] == 1)
{
SomeFunctionThatDoesBadThings();
}

Oh?  Well now if that template author sees my site uses his template, he can type the url &quot;mysite.com?do_exploit=1&quot; and all of a sudden my site crashes, or gives him my database password or something else....

Why?  Because my template gives TOO much power.  The idea making a simplified template engine is not only to make it easier and friendlier to create a template, but also to only give template authors the power they need -- or are allowed to have.

I will say, that a good portion of the time, using PHP for templating a private site is a good way to go, but if your script is going to be publicly available, there is no other choice but a template engine.</description>
		<content:encoded><![CDATA[<p>Daniel,</p>
<p>What if we are talking about a program that will be publicly downloadable?  For example a forum.  I download a forum that uses native PHP templating.  I then go to a templates site, and download a nice template, and install it to my forum.  But little do I know, since it is a PHP template, that the author has snuck some extra PHP in:</p>
<p>if ($_POST['do_exploit'] == 1)<br />
{<br />
SomeFunctionThatDoesBadThings();<br />
}</p>
<p>Oh?  Well now if that template author sees my site uses his template, he can type the url &#8220;mysite.com?do_exploit=1&#8243; and all of a sudden my site crashes, or gives him my database password or something else&#8230;.</p>
<p>Why?  Because my template gives TOO much power.  The idea making a simplified template engine is not only to make it easier and friendlier to create a template, but also to only give template authors the power they need &#8212; or are allowed to have.</p>
<p>I will say, that a good portion of the time, using PHP for templating a private site is a good way to go, but if your script is going to be publicly available, there is no other choice but a template engine.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

