<?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>Commentaires sur : Création d&#8217;un moteur de templates en PHP 5 objet</title>
	<atom:link href="http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/</link>
	<description>Symfony, Zend Framework, JQuery, WordPress...</description>
	<lastBuildDate>Thu, 10 May 2012 06:39:50 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Par : Aurélien Derouineau</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-81</link>
		<dc:creator>Aurélien Derouineau</dc:creator>
		<pubDate>Mon, 24 May 2010 11:04:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-81</guid>
		<description>Au passage, je conseille XSL comme moteur. C&#039;est standard et très puissant.</description>
		<content:encoded><![CDATA[<p>Au passage, je conseille XSL comme moteur. C&#8217;est standard et très puissant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Moteur de templates du framework PHP 5 PEJO &#124; Jonathan Petitcolas</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-80</link>
		<dc:creator>Moteur de templates du framework PHP 5 PEJO &#124; Jonathan Petitcolas</dc:creator>
		<pubDate>Sat, 13 Jun 2009 09:04:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-80</guid>
		<description>[...] A noter que pour une meilleur compréhension de l&#8217;utilité des moteurs de templates, je vous invite à (re)lire mon article &#8220;Création d’un moteur de templates en PHP 5 objet&#8221;. [...] </description>
		<content:encoded><![CDATA[<p>[...] A noter que pour une meilleur compréhension de l&#8217;utilité des moteurs de templates, je vous invite à (re)lire mon article &#8220;Création d’un moteur de templates en PHP 5 objet&#8221;. [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Fabien Benariac</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-79</link>
		<dc:creator>Fabien Benariac</dc:creator>
		<pubDate>Sun, 18 Jan 2009 15:48:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-79</guid>
		<description>Bonjour,

Suite a votre article (ainsi que quelques autres...), j&#039;avais decidé de faire mon propre moteur de templates. Cela constituait à mon avis un bon exercice d&#039;apprentissage du PHP.

Votre article est bien... mais bon, l&#039;objectif était de faire un truc neuf... pas de reprendre votre code !

Bref, cet article a été le point de départ de pas mal d&#039;apprentissage pour moi, et je vous en remercie grandement ! (oui, parce qu&#039;à la base, je suis autodidacte...)

Aujourd&#039;hui, j&#039;ai une base qui marche... Je n&#039;ai &quot;plus&quot; qu&#039;à rajouter des composants selon mes besoins. Bref, heureux et fier comme un bar/tabac, alors que pourtant, je n&#039;ai pas inventé la poudre...</description>
		<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Suite a votre article (ainsi que quelques autres&#8230;), j&#8217;avais decidé de faire mon propre moteur de templates. Cela constituait à mon avis un bon exercice d&#8217;apprentissage du PHP.</p>
<p>Votre article est bien&#8230; mais bon, l&#8217;objectif était de faire un truc neuf&#8230; pas de reprendre votre code !</p>
<p>Bref, cet article a été le point de départ de pas mal d&#8217;apprentissage pour moi, et je vous en remercie grandement ! (oui, parce qu&#8217;à la base, je suis autodidacte&#8230;)</p>
<p>Aujourd&#8217;hui, j&#8217;ai une base qui marche&#8230; Je n&#8217;ai &laquo;&nbsp;plus&nbsp;&raquo; qu&#8217;à rajouter des composants selon mes besoins. Bref, heureux et fier comme un bar/tabac, alors que pourtant, je n&#8217;ai pas inventé la poudre&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Jonathan Petitcolas</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-78</link>
		<dc:creator>Jonathan Petitcolas</dc:creator>
		<pubDate>Sun, 18 Jan 2009 14:36:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-78</guid>
		<description>Effectivement, une autre petite erreur s&#039;est glissée dans cet article. Il manque un anti-slash avant le dollar, qui sans celui-ci signifierait la fin de chaîne. Article corrigé. Merci de ta vigilance. :)

Quant au &lt;em&gt;ParseFile&lt;/em&gt;, il faut en effet faire appel à cette méthode, afin de lire le fichier et de le décomposer en plusieurs sous-templates. Tu peux le faire dans la méthode &lt;em&gt;GetHTMLCode&lt;/em&gt;, avant le &lt;em&gt;SetVariable&lt;/em&gt; par exemple.

Il est en effet bien plus sage de s&#039;en inspirer et de redévelopper un moteur de templates. Après tout, comme le disait si bien mon professeur de mécanique de Maths Sup. (petite dédicace au passage) : &lt;em&gt;Voir faire n&#039;est pas savoir faire&lt;/em&gt;. :)</description>
		<content:encoded><![CDATA[<p>Effectivement, une autre petite erreur s&#8217;est glissée dans cet article. Il manque un anti-slash avant le dollar, qui sans celui-ci signifierait la fin de chaîne. Article corrigé. Merci de ta vigilance. :)</p>
<p>Quant au <em>ParseFile</em>, il faut en effet faire appel à cette méthode, afin de lire le fichier et de le décomposer en plusieurs sous-templates. Tu peux le faire dans la méthode <em>GetHTMLCode</em>, avant le <em>SetVariable</em> par exemple.</p>
<p>Il est en effet bien plus sage de s&#8217;en inspirer et de redévelopper un moteur de templates. Après tout, comme le disait si bien mon professeur de mécanique de Maths Sup. (petite dédicace au passage) : <em>Voir faire n&#8217;est pas savoir faire</em>. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Jonathan Petitcolas</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-76</link>
		<dc:creator>Jonathan Petitcolas</dc:creator>
		<pubDate>Sat, 17 Jan 2009 13:47:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-76</guid>
		<description>On peut, en PHP, indiquer des noms de variables construit dynamiquement. Par exemple, considérons le code suivant :

[php]$a = &#039;b&#039;;
$$a = 3;[/php]

Dans ce code, la variable &lt;em&gt;$$a&lt;/em&gt; est équivalent à la variable &lt;em&gt;$b&lt;/em&gt;, et vaudra donc 3. D&#039;où le double dollar.

Enfin, le &lt;em&gt;global&lt;/em&gt; est ici nécessaire, car on attribuera des valeurs aux variables à l&#039;intérieur de notre script PHP, et nous devrons les récupérer à l&#039;intérieur de la méthode de la classe. Sans celui-ci, &lt;em&gt;$$varName&lt;/em&gt; serait local à la fonction, et n&#039;aurait donc aucune valeur. Ce qui serait un peu inutile. :)</description>
		<content:encoded><![CDATA[<p>On peut, en PHP, indiquer des noms de variables construit dynamiquement. Par exemple, considérons le code suivant :</p>
<pre class="brush: php; title: ;">$a = 'b';
$$a = 3;</pre>
<p>Dans ce code, la variable <em>$$a</em> est équivalent à la variable <em>$b</em>, et vaudra donc 3. D&#8217;où le double dollar.</p>
<p>Enfin, le <em>global</em> est ici nécessaire, car on attribuera des valeurs aux variables à l&#8217;intérieur de notre script PHP, et nous devrons les récupérer à l&#8217;intérieur de la méthode de la classe. Sans celui-ci, <em>$$varName</em> serait local à la fonction, et n&#8217;aurait donc aucune valeur. Ce qui serait un peu inutile. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Aymeric Lagier</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-75</link>
		<dc:creator>Aymeric Lagier</dc:creator>
		<pubDate>Sat, 17 Jan 2009 13:44:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-75</guid>
		<description>Très intéressant. Cependant, j&#039;aurais une question. Dans ton code :

[php]# Pour chaque variable, on remplace celle-ci par sa valeur.
foreach($varNames as $varName)
{
    global $$varName;
    $this-&gt;buffer = preg_replace(&#039;#${&#039;.$varName.&#039;}#&#039;, $$varName, $this-&gt;buffer);
}[/php]

Je ne comprends pas le global &lt;em&gt;$$varName&lt;/em&gt; ? Déjà, pourquoi $$ ? Et ensuite, pourquoi un &lt;em&gt;global&lt;/em&gt; alors que le &lt;em&gt;$varName&lt;/em&gt; vient du &lt;em&gt;foreach&lt;/em&gt; ?

Merci d&#039;avance. :)</description>
		<content:encoded><![CDATA[<p>Très intéressant. Cependant, j&#8217;aurais une question. Dans ton code :</p>
<pre class="brush: php; title: ;"># Pour chaque variable, on remplace celle-ci par sa valeur.
foreach($varNames as $varName)
{
    global $$varName;
    $this-&amp;gt;buffer = preg_replace('#${'.$varName.'}#', $$varName, $this-&amp;gt;buffer);
}</pre>
<p>Je ne comprends pas le global <em>$$varName</em> ? Déjà, pourquoi $$ ? Et ensuite, pourquoi un <em>global</em> alors que le <em>$varName</em> vient du <em>foreach</em> ?</p>
<p>Merci d&#8217;avance. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Aymeric Lagier</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-77</link>
		<dc:creator>Aymeric Lagier</dc:creator>
		<pubDate>Sat, 17 Jan 2009 12:00:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-77</guid>
		<description>Merci Jonathan pour cette explication. J&#039;ai d&#039;autres questions.

Dans ton expression régulières &lt;em&gt;#${(.*)}#U et #${&#039;.$varName.&#039;}#&lt;/em&gt; il faut echappé le &lt;em&gt;$&lt;/em&gt;, non ?

Autre question, pour le passage simple de variable, j&#039;arrive à faire fonctionner ton code, mais avec les sous-templates ça ne va plus. Tu n&#039;appelles jamais ta méthode &lt;em&gt;parseFile()&lt;/em&gt;, à moins d&#039;avoir besoin de lunettes ? :/

J&#039;ai fini par redévelopper les méthodes pour y voir plus clair :-) Au moins, ça fait un bon apprentissage.</description>
		<content:encoded><![CDATA[<p>Merci Jonathan pour cette explication. J&#8217;ai d&#8217;autres questions.</p>
<p>Dans ton expression régulières <em>#${(.*)}#U et #${&#8216;.$varName.&#8217;}#</em> il faut echappé le <em>$</em>, non ?</p>
<p>Autre question, pour le passage simple de variable, j&#8217;arrive à faire fonctionner ton code, mais avec les sous-templates ça ne va plus. Tu n&#8217;appelles jamais ta méthode <em>parseFile()</em>, à moins d&#8217;avoir besoin de lunettes ? :/</p>
<p>J&#8217;ai fini par redévelopper les méthodes pour y voir plus clair :-) Au moins, ça fait un bon apprentissage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Fabien Benariac</title>
		<link>http://www.jonathan-petitcolas.com/creation-dun-moteur-de-templates-en-php-5-objet/#comment-74</link>
		<dc:creator>Fabien Benariac</dc:creator>
		<pubDate>Mon, 29 Dec 2008 10:28:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.jonathan-petitcolas.com/?p=574#comment-74</guid>
		<description>J&#039;ai lu votre article sur la programmation de moteurs de templates dans &quot;Programmez!&quot;. Je l&#039;ai trouvé très intéressant... C&#039;est d&#039;ailleurs pour cet article que j&#039;ai acheté ce magazine. :)</description>
		<content:encoded><![CDATA[<p>J&#8217;ai lu votre article sur la programmation de moteurs de templates dans &laquo;&nbsp;Programmez!&nbsp;&raquo;. Je l&#8217;ai trouvé très intéressant&#8230; C&#8217;est d&#8217;ailleurs pour cet article que j&#8217;ai acheté ce magazine. :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

