<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
        <title><![CDATA[Releases • Talus' Works]]></title>
        <description><![CDATA[Retrouvez les releases de Talus' Works]]></description>
        <link>http://www.talus-works.net</link>
        <pubDate>Wed, 16 Dec 2009 23:31:15 +0000</pubDate>
        <language>fr</language>
                
            <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tw-releases-messages" /><feedburner:info uri="tw-releases-messages" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
                <title><![CDATA[Talus' TPL - 1.7.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>Bonsoir à tous,</p>

<p>Vous l'attendiez (surtout ceux qui me suivent sur twitter, et ceux qui suivent le SVN), et la voilà enfin : la version 1.7.0 des Talus' TPL. Au programme, une tonne de changements, pas faciles à retranscrire ici (et donc une MaJ de la doc assez importante...).</p>

<p>Commençons par les fix et les changements : L'usage des fonctions TPL est désormais déprécié (<strong>et désactivé par défaut</strong>) pour laisser place à une nouveauté, les includes paramétrées (qui permettent d'appeler un tpl externe et de lui fournir des arguments, comme on peut appeler un fichier PHP avec des paramètres GET : Sauf qu'ici, ce sera passé par des variables normales, type {VARIABLE} / {$VARIABLE}, qui ne seront active... Que pour le template inclu et ses descendants). Au niveau du PHP, les accessors de type getX() / setX() ont fait leur place à des accessors type x().</p>

<p>Abordons maintenant les ajouts principaux. Comme je l'ai mentionné au début, il y a maintenant la possibilité de réaliser des <strong>includes paramétrées</strong>, qui prendront cette forme : <br />
<div class="code_overall">
            <span class="code_top">Code TPL</span>
            <code class="code_main code_tpl"><span class="highlight_tags">&lt;include <span class="highlight_word">tpl</span>=<span class="highlight_quotes">&quot;file.html?<span class="highlight_word">VARA</span>=valA&amp;<span class="highlight_word">VARB</span>=valB&amp;<span class="highlight_word">VALC</span>={$MAVAL}&quot;</span> /&gt;</span></code>
        </div></p>

<p>Viennent ensuite l'ajout de la possibilité de faire de l'injection de dépendance (permettant ainsi une plus grande flexibilité pour l'extension du moteur), de la possibilité de &quot;choisir&quot; ce qu'on veut compiler dans les templates (par défaut, tout sauf les fonctions), ce qui amène également à l'ajout suivant : la possibilité de paramétrer certains trucs dans le compilateur.</p>

<p>Enfin, le dernier ajout important est la présence d'un autoload : Vous n'avez besoin que d'inclure Talus_TPL/Talus_TPL.php, et il fera de lui-même les inclusions nécessaires (à condition que vous gardiez la même structure que celle proposée)... Et surtout, la présence d'exceptions, que j'ai failli oublier (:-°).</p>

<p>Je trouve que j'ai assez blablaté pour la mise en bouche, voici le CHANGELOG.</p>

<p><div class="code_overall">
            <span class="code_top">Code </span>
            <code class="code_main">
## 1.6.0 ==&gt; 1.7.0 (Sortie : 17/12/09)
  #ADD : Possibilité de parser et d'exécuter une chaine de caractère TPL
  #ADD : Par défaut, le répertoire de cache est le tmp du système.
  #ADD : Gestion des Dependency Injection (pour Cache &amp; Compiler)
  #ADD : Autoloader pour les classes TPL (Talus_TPL::_autoload())
  #ADD : Possibilité de faire un &quot;require&quot; plutôt qu'un include
  #ADD : Possibilité de modifier les fonctionnalitées à parser
  #ADD : Implémentation de __invoke() pour toutes les classes
  #ADD : Destruction de cache (Talus_TPL_Cache::destroy())
  #ADD : Constante Talus_TPL::VERSION
  #ADD : Inclusions avec paramètres
  #ADD : Classes d'exceptions

  #CHG : L'attribut Talus_TPL::$vars devient Talus_TPL::$_vars (privatisation)
  #CHG : Passage de tous les éléments privés en protected (sauf exceptions)
  #CHG : Passage en déprécié de toutes les méthodes type get/setAttribut().
  #CHG : Pour FIX #1 : Utilisation d'un hash pour le nom du php cache
  #CHG : Intégration de Talus_TPL::_setFile() dans Talus_TPL::parse()
  #CHG : Talus_TPL::set() renvoit une référence sur Talus_TPL::$_vars
  #CHG : La classe Filters est désormais finale et non plus abstraite
  #CHG : Utilisation de variables extraites lors de la compilation
  #CHG : Restrictions plus exactes pour le nommage de balisage TPL
  #CHG : L'attribut Talus_TPL::$_infos devient Talus_TPL::$_last
  #CHG : Changement du nom des accessors + condensation
  #CHG : Noms des méthodes d'instanciation des Singletons
  #CHG : Passage de triggers+exit() vers des exceptions
  #CHG : Gestion des includes d'une façon plus globale
  #CHG : Talus_TPL_Cache::file() renvoit une valeur.
  #CHG : Changements mineurs un peu partout
  #CHG : Condensation des attributs privés
  
  #FIX : Fichiers de cache identiques pour /dir/file.html &amp; /dir.file.html
  #FIX : Espace en trop lors de la déclaration de fonctions
  #FIX : Mauvaise fin de capture pour &lt;set&gt;
  
  #DEL : Emulations de file_get|put_contents() de talus_tpl_cache.php
  #DEL : Talus_TPL_Cache::$_filemtime &amp; Talus_TPL_Cache::$_filesize
  #DEL : Talus_TPL::$_cache &amp; Talus_TPL::$_compiler
  #DEL : Commentaires PHPDOC pour les attributs
  #DEL : Talus_TPL_Compiler::$_namespace
  #DEL : Balise {__$CONSTANTE__}
  #DEL : Talus_TPL::_setFile()
  
  #OBS : Fonctions TPL (à remplacer par les inclusions paramétrées)
  #OBS : Accessors pour des classes externes

  #TDO : Mieux gérer les vars dans les includes paramétrées</code>
        </div></p>

<p>Et voici les fichiers :<br />
<a href="http://www.talus-works.net/download-18-talus-tpl-version-zip-1-7-0.html">Talus' TPL - Version ZIP - 1.7.0</a> (<strong>Taille :</strong> 49,296 Kio; Téléchargé 177 fois)<br />
<a href="http://www.talus-works.net/download-19-talus-tpl-version-tgz-1-7-0.html">Talus' TPL - Version TGZ - 1.7.0</a> (<strong>Taille :</strong> 33,296 Kio; Téléchargé 70 fois)</p>

<p><em>La documentation a été complétement mise à jour</em>.</p>

<p><strong>ATTENTION, POUR UNE MISE A JOUR DE TALUS' TPL : PENSEZ A VIDER VOTRE CACHE !</strong></p>

<p><strong>LE MOTEUR, A PARTIR DE CETTE VERSION, <span class="souligne">NECESSITE PHP &gt;= 5.1</span> !</strong>. En effet, plusieurs fonctionnalités de PHP qui ne sont présentes que depuis la 5.1 (citons la SPL pour l'autoload) sont utilisées par le moteur, avec d'autres particularités de l'orienté objet de PHP. Sachez que la version 5.2 de PHP (dernière stable en date : 5.2.11) est sortie voilà 3 ans (novembre 2006), et que la version 5.3 est déjà sortie (dernière stable en date : la 5.3.1).</p>

<p>Si vous trouvez un bug, n'hésitez pas à <a href="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html" title="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html">le signaler</a>... Et, bien entendu, <a href="http://www.talus-works.net/forum-4-p1-general.html" title="http://www.talus-works.net/forum-4-p1-general.html">je suis à l'écoute de toute suggestions</a> !</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/zvWk0InOhek/topic-post-1076-talus-tpl-1-7-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-1076-talus-tpl-1-7-0.html#p1076</guid>
                <comments>http://www.talus-works.net//topic-post-1076-talus-tpl-1-7-0.html#p1076</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Wed, 16 Dec 2009 23:31:15 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-1076-talus-tpl-1-7-0.html#p1076</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.6.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>Hello,</p>

<p>Pour ceux qui l'auraient remarqué (et les autres aussi, tant qu'a faire), j'ai oublié de renseigner le code de Talus_TPL::setNamespace() : voici la correction.</p>

<p><h3 class="titre">talus_tpl.php</h3><br />
<h4 class="sous_titre">Chercher</h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php<br /></span><span style="color: #FF9900">//&nbsp;...<br /></span><span style="color: #006600">class&nbsp;</span><span style="color: #0000CC">Talus_TPL&nbsp;</span><span style="color: #006600">{<br /></span><span style="color: #FF9900">//...<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #006600">public&nbsp;function&nbsp;</span><span style="color: #0000CC">setNamespace</span><span style="color: #006600">(</span><span style="color: #0000CC">$namespace&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #CC0000">'tpl'</span><span style="color: #006600">)&nbsp;{<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}<br />}</span>
</span>
</code>
        </div></p>

<p><h4 class="sous_titre">Remplacer par</h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php<br /></span><span style="color: #FF9900">//...<br /></span><span style="color: #006600">class&nbsp;</span><span style="color: #0000CC">Talus_TPL&nbsp;</span><span style="color: #006600">{<br /></span><span style="color: #FF9900">//...<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #006600">public&nbsp;function&nbsp;</span><span style="color: #0000CC">setNamespace</span><span style="color: #006600">(</span><span style="color: #0000CC">$namespace&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #CC0000">'tpl'</span><span style="color: #006600">)&nbsp;{<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$this</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">_compiler</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">setNamespace</span><span style="color: #006600">(</span><span style="color: #0000CC">$namespace</span><span style="color: #006600">);<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}<br />}</span>
</span>
</code>
        </div></p>

<p>Les archives ont été mises à jour.</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/2ZkLKgznLyA/topic-post-948-talus-tpl-1-6-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-948-talus-tpl-1-6-0.html#p948</guid>
                <comments>http://www.talus-works.net//topic-post-948-talus-tpl-1-6-0.html#p948</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Sat, 08 Aug 2009 13:43:51 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-948-talus-tpl-1-6-0.html#p948</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.6.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p><strong>Note :: Cette version est désormais périmée, depuis <a href="http://www.talus-works.net/topic-183-p1-talus-tpl-1-7-0.html" title="http://www.talus-works.net/topic-183-p1-talus-tpl-1-7-0.html">la sortie de Talus' TPL 1.7.0</a>.</strong> Je la laisse en téléchargement, mais sachez qu'aucune correction de bugs et autres ajouts de fonctionnalités n'aura lieu !</p>

<p>Bonsoir,</p>

<p>Voici la nouvelle version de Talus' TPL, la version 1.6.0. Un ajout majeur et un changement majeur sont au programme de cette version mineure : l'ajout de la possibilité d'utiliser des namespaces XML, et le changement de la syntaxe des blocs.</p>

<p>Pour utiliser les namespaces, référez-vous aux méthodes Talus_TPL::setNamespace() &amp; Talus_TPL::getNamespace() : une fois que vous en avez spécifié un (il n'y en a pas par défaut), ils fonctionnement comme les namespaces en xml, soit un préfixage des balises et attributs de celles-ci par (namespace:balise, namespace:attribut). Vous n'avez pas besoin de mettre les : finaux lors de la déclaration dans Talus_TPL::setNamespace()</p>

<p>Ensuite, pour les blocs, la syntaxe change : elle devient, comme annoncé, la suivante :<br />
<div class="code_overall">
            <span class="code_top">Code XML</span>
            <code class="code_main code_xml"><span class="highlight_tags">&lt;block <span class="highlight_word">name</span>=<span class="highlight_quotes">&quot;child&quot;</span> <span class="highlight_word">parent</span>=<span class="highlight_quotes">&quot;parent&quot;</span>&gt;</span></code>
        </div></p>

<p>Notez que l'ancienne syntaxe est tojorus là, mais affichera un message de dépréciation lors de son emploi (le message sera affiché à la compilation du template).</p>

<p>Aussi, un autre changement, mais mineur celui-ci : la balise &quot;&lt;var /&gt;&quot; change egalement en :<br />
<div class="code_overall">
            <span class="code_top">Code XML</span>
            <code class="code_main code_xml"><span class="highlight_tags">&lt;set <span class="highlight_word">var</span>=<span class="highlight_quotes">&quot;MA_VAR&quot;</span>&gt;</span>valeur<span class="highlight_tags">&lt;/set&gt;</span></code>
        </div></p>

<p>Notez aussi la suppression de la possibilité d'affecter les variables dans les blocs. Pour le reste, il y a le CHANGELOG.... Que voici.</p>

<p><div class="code_overall">
            <span class="code_top">Code </span>
            <code class="code_main">## 1.5.1 ==&gt; 1.6.0 (Sortie : 17/07/09)
  #ADD : Ajout de la récursivité pour les filtres (sauf arrays de dimension &gt; 1)
  #ADD : Concernant set, possibilité de redéfinir la valeur d'une clé d'array
  #ADD : Pour les filtres, possibilité de les utiliser avec des arrays
  #ADD : Ajout d'une méthode (privée) : Talus_TPL_Compiler::_escape()
  #ADD : Ajout de la syntaxe &lt;block name=&quot;enfant&quot; parent=&quot;parent&quot;&gt;
  #ADD : Ajout de la gestion de namespaces xml

  #CHG : Changement de la référence utilisée pour les blocs et leurs variables
  #CHG : La méthode habituelle &lt;block name=&quot;parent.enfant&quot;&gt; est dépréciée
  #CHG : new Talus_TPL_Compiler et new Talus_TPL_Cache ==&gt; new self
  #CHG : Syntaxe de la balise de changement / assignement intpl
  #CHG : Foreach par références pour les blocs et les foreach
  #CHG : Remplacement de is_null() par === null (plus rapide)
  #CHG : Talus_TPL::getBlock() renvoi désormais une référence
  #CHG : Utilisation d'un symbole référence pour les blocs
  #CHG : Changements mineurs dans Talus_TPL::includeTpl()
  #CHG : Changements mineurs dans Talus_TPL::setBlock()
  #CHG : Changements de formes des messages d'erreurs
    
  #FIX : Si il y a un bloc parent, il ne pouvait y avoir un enfant ayant un nom complexe
  #FIX : Possibilité d'utilisé les variables types {TYPE,VAR} dans les filtres
  #FIX : Inclusions bizarres si le paramètre once est renseigné...
  #FIX : Parsage Récursif OK
    
  #DEL : Possibilité d'affecter / de changer la valeur d'une variable d'un bloc intpl
  #DEL : Possibilité de supprimer des variables déclarées (ne sert à rien...)
  #DEL : Suppression des méthodes dépréciées en 1.5.1
  #DEL : Suppression de Talus_TPL::$_files</code>
        </div></p>

<p>Voici les liens :<br />
<a href="http://www.talus-works.net/download-16-talus-tpl-version-zip-1-6-0.html">Talus' TPL - Version ZIP - 1.6.0</a> (<strong>Taille :</strong> 29,122 Kio; Téléchargé 239 fois)<br />
<a href="http://www.talus-works.net/download-17-talus-tpl-version-tgz-1-6-0.html">Talus' TPL - Version TGZ - 1.6.0</a> (<strong>Taille :</strong> 23,829 Kio; Téléchargé 71 fois)</p>

<p>Dans ces archives, vous trouverez un script de conversion de la version 1.5.1 vers la version 1.6.0, concernant les changements pour les blocs et la balise set.</p>

<p><strong>EDIT &gt;</strong> La documentation a été mise à jour.</p>

<p><strong>Je rappelle que ce moteur de templates <span class="souligne">nécessite</span> PHP &gt;= 5.0.0 !</strong>. Notez qu'il est préférable d'avoir la dernière version de PHP (la dernière branche mineure étant la 5.2.X, disponible depuis 1 an à peu près), ou au moins une supérieure à la version 5.1 (utilisation de fonctionnalités OO de PHP 5 uniquement disponibles à partir de la 5.1)</p>

<p><strong>ATTENTION, POUR UNE MISE A JOUR DE TALUS' TPL : PENSEZ A VIDER VOTRE CACHE !</strong></p>

<p>Si vous trouvez un bug, n'hésitez pas à <a href="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html" title="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html">le signaler</a>... Et, bien entendu, <a href="http://www.talus-works.net/forum-4-p1-general.html" title="http://www.talus-works.net/forum-4-p1-general.html">je suis à l'écoute de toute suggestions</a> !</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/4IVJBvLUmaA/topic-post-934-talus-tpl-1-6-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-934-talus-tpl-1-6-0.html#p934</guid>
                <comments>http://www.talus-works.net//topic-post-934-talus-tpl-1-6-0.html#p934</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Fri, 17 Jul 2009 20:38:13 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-934-talus-tpl-1-6-0.html#p934</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.5.1 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p><strong>Note :: Cette version est désormais périmée, depuis <a href="http://www.talus-works.net/topic-161-p1-talus-tpl-1-6-0.html" title="http://www.talus-works.net/topic-161-p1-talus-tpl-1-6-0.html">la sortie de Talus' TPL 1.6.0</a>.</strong> Je la laisse en téléchargement, mais sachez qu'aucune correction de bugs et autres ajouts de fonctionnalités n'aura lieu !</p>

<p>Bonsoir,</p>

<p>Voici la nouvelle version de Talus' TPL, la version 1.5.1. Oui, une version dite &quot;build&quot;, ca faisait longtemps. En effet, cette version n'apporte aucune nouvelle fonctionnalité, mais apporte quelques corrections au moteur TPL.</p>

<p>Je cite par exemple la poursuite (et la fin) de l'uniformisation de la convention utilisée : ainsi, il y a pas mal de méthodes qui passent en dépréciée, et... l'attribut Talus_TPL::$blocks devient privé et, par la même occasion, change de nom en Talus_TPL::$_blocks. Qui dit privatisation d'attribut, dit également mise en place d'un accessor.</p>

<p>Deux bugs ont été corrigés : un pour les appels récursifs de fonctions (l'objet $tpl qui était un $fct dans les fonctions... Donc problème de portée), et un autre pour les filtres, un bug bien plus discret (pour deux variables &quot;proches&quot;, le tout était combiné en une seule variable...). </p>

<p>Il y a aussi eu suppression de méthodes : la méthode Talus_TPL::assign_block_vars() n'est maintenant plus disponible (déprécié depuis la 1.4.0), et la méthode Talus_TPL::multiparse()... Qui ne servait à rien, depuis la privatisation de Talus_TPL::_setFile() (bande de feignants).</p>

<p>Trèves de bavardages, voici le CHANGELOG :</p>

<p><div class="code_overall">
            <span class="code_top">Code </span>
            <code class="code_main">##1.5.0 ==&gt; 1.5.1 (Sortie : 22/01/09)
  #ADD : Méthode Talus_TPL::getBlock() (récupération d'un bloc racine)
  #ADD : Uniformisation : Ajout de Talus_TPL::setBlock()
  #ADD : Uniformisation : Ajout de Talus_TPL::setDir()
  #ADD : Uniformisation : Ajout de Talus_TPL::setRef()
  #ADD : Uniformisation : Ajout de Talus_TPL::unsetVars()
    
  #CHG : Gestion des variables filtrées (plusieurs condition récurrentes en moins)
  #CHG : Controle du cache plus strict (ajout de la vérif de la taille du cache)
  #CHG : Uniformisation : Mise de la méthode Talus_TPL::set_block() en déprécié
  #CHG : Uniformisation : Mise de la méthode Talus_TPL::set_dir() en déprécié
  #CHG : Uniformisation : Mise de la méthode Talus_TPL::set_ref() en déprécié
  #CHG : Uniformisation : Mise de la méthode Talus_TPL::unset_var() en déprécié
  #CHG : Uniformisation : Passage de Talus_TPL::$blocks en privé : Talus_TPL::$_blocks
  #CHG : Condition en moins dans Talus_TPL::_setFile().
    
  #FIX : Corrections lors de l'appel de fonctions récursives (objet $tpl non déclaré...)
  #FIX : Bug pour les variables filtrées
    
  #DEL : Suppression de la clé &quot;file&quot; de l'array Talus_TPL::$_infos&#91;tpl&#93;
  #DEL : Suppression de l'attribut Talus_TPL::$_last
  #DEL : Suppression des méthodes dépréciées depuis la 1.4.0
  #DEL : Suppression de la méthode Talus_TPL::multiparse()</code>
        </div></p>

<p>Voici les liens :<br />
<a href="http://www.talus-works.net/download-14-talus-tpl-version-zip-1-5-1.html">Talus' TPL - Version ZIP - 1.5.1</a> (<strong>Taille :</strong> 25,371 Kio; Téléchargé 320 fois)<br />
<a href="http://www.talus-works.net/download-15-talus-tpl-version-tgz-1-5-1.html">Talus' TPL - Version TGZ - 1.5.1</a> (<strong>Taille :</strong> 20,482 Kio; Téléchargé 103 fois)</p>

<p><strong>EDIT &gt; La Documentation a été mise à jour.</strong></p>

<p><strong>Je rappelle que ce moteur de templates <span class="souligne">nécessite</span> PHP &gt;= 5.0.0 !</strong>. Notez qu'il est préférable d'avoir la dernière version de PHP (la dernière branche mineure étant la 5.2.X, disponible depuis 1 an à peu près), ou au moins une supérieure à la version 5.1 (utilisation de fonctionnalités OO de PHP 5 uniquement disponibles à partir de la 5.1)</p>

<p><strong>ATTENTION, POUR UNE MISE A JOUR DE TALUS' TPL : PENSEZ A VIDER VOTRE CACHE !</strong></p>

<p>Si vous trouvez un bug, n'hésitez pas à <a href="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html" title="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html">le signaler</a>... Et, bien entendu, <a href="http://www.talus-works.net/forum-4-p1-general.html" title="http://www.talus-works.net/forum-4-p1-general.html">je suis à l'écoute de toute suggestions</a> !</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/30iESpQ_vYI/topic-post-772-talus-tpl-1-5-1.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-772-talus-tpl-1-5-1.html#p772</guid>
                <comments>http://www.talus-works.net//topic-post-772-talus-tpl-1-5-1.html#p772</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Thu, 22 Jan 2009 21:08:34 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-772-talus-tpl-1-5-1.html#p772</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.5.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p><strong>Note :: Cette version est désormais périmée, depuis <a href="http://www.talus-works.net/topic-142-p1-talus-tpl-1-5-1.html#p604" title="http://www.talus-works.net/topic-142-p1-talus-tpl-1-5-1.html#p604">la sortie de Talus' TPL 1.5.1</a>.</strong> Je la laisse en téléchargement, mais sachez qu'aucune correction de bugs et autres ajouts de fonctionnalités n'aura lieu !</p>

<p>Bonsoir à tous,</p>

<p>Voici la nouvelle version de Talus' TPL : La <strong>version 1.5.0</strong>. Celle-ci marque un tournant dans les TPLs... Et la liste des changements est plutôt longue.... Tout comme celle des ajouts, d'ailleurs. Citons par exemple la possibilité d'utiliser des filtres sur les variables TPL (à la manière de Django ou alors du moteur de templates Phinja fait par vincent1870 et Savageman), d'une classe pour la compilation, pour les filtres aussi, un ajout de méthodes (citons la possibilité de parser une chaine de caractères), et aussi... la possibilité d'utiliser un array avec le foreach (à condition d'employer l'attribut &quot;as&quot; de la balise &lt;foreach&gt;) !</p>

<p><em>J'ai supprimé les méthodes dépréciées <strong>depuis la version 1.3.0</strong></em> (ca fait genre 3-4 mois, il serait temps de se mettre à jour...), comme le fonctionnement public de set_file (devenu Talus_TPL::setFile() par la même occasion), Talus_TPL::assign_var() et Talus_TPL::assign_vars()... Préparez-vous aussi à changer les Talus_TPL::assign_block_vars(), car ils disparaitront dans la prochaine version, au profit des Talus_TPL::set_block().</p>

<p>J'en ai aussi profité pour adapter un peu plus des conventions de nommage de méthodes / propriétés un peu moins bordelliques.</p>

<p>J'ai aussi modifié quelque peu le fontionnement interne ; par exemple, j'ai renommé la class &quot;Cache_TPL&quot; pour la nommer en &quot;Talus_TPL_Cache&quot;, qui pourrait, je pense, éviter plus de conflits. J'ai également ajouté deux nouvelle classe, la classe Talus_TPL_Compiler (abstraite), qui se charge de compiler en PHP un TPL, et aussi la classe Talus_TPL_Filters, qui gère les filtres du moteur.</p>

<p>Vous avez le reste dans les changelog, changelog... Que je vous fournis ci-dessous. :)</p>

<p><div class="code_overall">
            <span class="code_top">Code </span>
            <code class="code_main">##1.4.0 ==&gt; 1.5.0 (Sortie : 02/10/08)
    #ADD : Création de la classe abstraite (futur namespace ? :p) Talus_TPL_Filters, qui répertorie les filtres possibles.
    #ADD : Ajout du singleton Talus_TPL_Compiler (suppression des fonctions de compilations)
    #ADD : Ajout de l'attribut privé Talus_TPL::$_compiler (référence au compilateur)
    #ADD : Possibilité d'utiliser des arrays avec &lt;foreach&gt; (avec un as)
    #ADD : Ajout de la méthode Talus_TPL_Cache::getInstance().
    #ADD : Ajout de la méthode Talus_TPL_Cache::getDir().
    #ADD : Ajout de la méthode Talus_TPL::sParse()
    #ADD : Ajout des filtres, à la Django.
    
    #CHG : Talus_TPL::_setFile() (ex Talus_TPL::set_file()) est devenue privée (fonctionnement public déprécié depuis la 1.2.0)
    #CHG : Changement interne pour Talus_TPL::getCacheDir() (appel à la nouvelle méthode Talus_TPL_Cache::getDir()).
    #CHG : Utilisation d'un array à la place d'une série de preg_replace dans Talus_TPL_Compiler::compile().
    #CHG : La fonction compile_tpl() parse désormais la chaine de caractère passée en argument.
    #CHG : Talus_TPL_Cache::valid() est maintenant devenu Talus_TPL_Cache::isValid()
    #CHG : Transformation du pattern de Talus_TPL_Cache (ex Cache_TPL) en singleton
    #CHG : Utilisation des fonctions mbstring plutot que des fonctions normales
    #CHG : Cache_TPL a été renommée en Talus_TPL_Cache.
    #CHG : Convention de codage des noms privés.
    #CHG : Talus_TPL::get_rootDir(), Talus_TPL::get_cacheDir() ==&gt; Talus_TPL::getRootDir(), Talus_TPL::getCacheDir().
    
    #DEL : Suppression des méthodes dépréciée (Talus_TPL::assign_var(s)()) depuis la version 1.3.0.
    #DEL : Suppression de la constante Talus_TPL::VER (sert à rien :p).
    
    #FIX : Plusieurs bugs sur les fonctions (les appels étaient mal parsés, les déclaration foiraient...)
    #FIX : Pour les fonctions, les arguments avec des espaces... ca passait pas.</code>
        </div></p>

<p>Et voici les liens de téléchargement :</p>

<p><a href="http://www.talus-works.net/download-12-talus-tpl-version-zip-1-5-0.html">Talus' TPL - Version ZIP - 1.5.0</a> (<strong>Taille :</strong> 22,236 Kio; Téléchargé 276 fois)<br />
<a href="http://www.talus-works.net/download-13-talus-tpl-version-tgz-1-5-0.html">Talus' TPL - Version TGZ - 1.5.0</a> (<strong>Taille :</strong> 16,852 Kio; Téléchargé 87 fois)</p>

<p><strong>EDIT</strong> : Documentation complètement à jour. :)</p>

<p><strong>Je rappelle que ce moteur de templates <span class="souligne">nécessite</span> PHP &gt;= 5.0.0 !</strong>. Notez qu'il est préférable d'avoir la dernière version de PHP (la dernière branche mineure étant la 5.2.X), ou au moins une supérieure à la version 5.1 (utilisation de fonctionnalités OO de PHP 5 uniquement disponibles à partir de la 5.1)</p>

<p><strong>ATTENTION, POUR UNE MISE A JOUR DE TALUS' TPL : PENSEZ A VIDER VOTRE CACHE !</strong></p>

<p>Si vous trouvez un bug, n'hésitez pas à <a href="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html" title="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html">le signaler</a>... Et, bien entendu, <a href="http://www.talus-works.net/forum-4-p1-general.html" title="http://www.talus-works.net/forum-4-p1-general.html">je suis à l'écoute de toute suggestions</a> !</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/7bIOoKM4oz8/topic-post-604-talus-tpl-1-5-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-604-talus-tpl-1-5-0.html#p604</guid>
                <comments>http://www.talus-works.net//topic-post-604-talus-tpl-1-5-0.html#p604</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Thu, 02 Oct 2008 21:45:39 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-604-talus-tpl-1-5-0.html#p604</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.4.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p><strong>Note :: Cette version est désormais périmée, depuis <a href="http://www.talus-works.net/topic-115-p1-talus-tpl-1-5-0.html#p604" title="http://www.talus-works.net/topic-115-p1-talus-tpl-1-5-0.html#p604">la sortie de Talus' TPL 1.5.0</a>.</strong> Je la laisse en téléchargement, mais sachez qu'aucune correction de bugs et autres ajouts de fonctionnalités n'aura lieu !</p>

<p>Bonjour à tous,</p>

<p><a href="http://blog.talus-works.net/talus-works/talus-tpl/talus-tpl-140-release-candidate/" title="http://blog.talus-works.net/talus-works/talus-tpl/talus-tpl-140-release-candidate/">Après deux trois RCs</a>, voici la version finale de Talus' TPL 1.4.0 !</p>

<p>Dans celle-ci, moi qui pensait faire à la base une version mineure de la branche 1.3, il y a finalement eu pas mal de changements. Citons entre autres la résolution du bug des arrays multidimensionnels que la précédente release avait apportée, et en plus de ça la possibilité d'utiliser des arrays comme clés dans ceux-ci ({MON_ARRAY[{$AUTRE_ARRAY['titi']}]['toto']} par exemple), <strong>la suppression du cache SQL</strong> (peut-être qu'il reverra le jour plus tard, mais certainement pas maintenant), la transformation des fichiers de fonctions cache en une class PHP (Cache_TPL), ... Vous trouverez le reste dans le changelog.</p>

<p>En parlant du changelog, le voici :</p>

<p><div class="code_overall">
            <span class="code_top">Code </span>
            <code class="code_main">##1.3.0 ==&gt; 1.4.0 (Sortie : 25/08/08)
    #ADD : Possibilité d'utiliser des arrays comme clés : {MA_VAR&#91;{$MA_VAR&#91;'toto'&#93;}&#93;&#91;'titi'&#93;}
    #ADD : Getters pour Talus_TPL::$root et Cache_TPL::$dir
    #ADD : Nouvelle class, qui gère le cache : Cache_TPL
    #ADD : Nouvelle méthode : Talus_TPL::set_block()

    #CHG : Talus_TPL::$cache ne contient plus le chemin vers le cache, mais est désormais l'instance de l'objet Cache_TPL.
    #CHG : Extension des conventions de nommage pour les variables, blocs, ... etc. (extension de la regex : \x7f-\xff)
    #CHG : La méthode Talus_TPL::assign_block_vars() est maintenant dépreciée ; il faut utiliser Talus_TPL::set_block()
    #CHG : Changement des parametres de Talus_TPL::unset_var() (un argument par variable à détruire).
    #CHG : Utilisation de la syntaxe alternative pour les instructions php (if : .. endif;, etc.)
    #CHG : Parsage prioritaire des variables simples avant celles des blocs
    #CHG : Possibilité d'employer &quot; dans les conditions ?
    #CHG : Passage en objet de require_*.php
    
    #DEL : Propriété Talus_TPL::$debug (pour une prochaine version, p'tet...)
    #DEL : Vérifications du dossier du cache dans Talus_TPL::set_dir()
    #DEL : Commentaires pour les fichiers de cache.
    #DEL : Cache SQL (à recoder / à laisser tomber)
    #DEL : Getter et Setter pour Talus_TPL::$debug
    #DEL : Constantes &quot;NOW&quot; et &quot;PHP_EOL&quot;.
    
    #FIX : Bug des arrays multi dimentionnels</code>
        </div></p>

<p>Et voici les liens de téléchargement :</p>

<p><a href="http://www.talus-works.net/download-10-talus-tpl-version-zip-1-4-0.html">Talus' TPL - Version ZIP - 1.4.0</a> (<strong>Taille :</strong> 21,295 Kio; Téléchargé 144 fois)<br />
<a href="http://www.talus-works.net/download-11-talus-tpl-version-tgz-1-4-0.html">Talus' TPL - Version TGZ - 1.4.0</a> (<strong>Taille :</strong> 19,235 Kio; Téléchargé 62 fois)</p>

<p><strong>EDIT</strong> : La documentation a été mise à jour.</p>

<p><strong>Je rappelle que ce moteur de templates <span class="souligne">nécessite</span> PHP &gt;= 5.0.0 !</strong></p>

<p>Si vous trouvez un bug, n'hésitez pas à <a href="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html" title="http://www.talus-works.net/forum-6-p1-rapports-de-bugs.html">le signaler</a>... Et, bien entendu, <a href="http://www.talus-works.net/forum-4-p1-general.html" title="http://www.talus-works.net/forum-4-p1-general.html">je suis à l'écoute de toute suggestions</a> !</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/2cGObuJ40Aw/topic-post-507-talus-tpl-1-4-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-507-talus-tpl-1-4-0.html#p507</guid>
                <comments>http://www.talus-works.net//topic-post-507-talus-tpl-1-4-0.html#p507</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Mon, 25 Aug 2008 16:39:37 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-507-talus-tpl-1-4-0.html#p507</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.3.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>Bonjour,</p>

<p>Un bug a été detecté pour les arrays multidimensionnels. Je vous poste ici la correction, mais <strong>sachez que les archives ne sont <em>pas</em> mises à jour</strong> (car dans la version actuelle, en développement, il y a des choses qui sont pour le moment prévues pour la prochaine version, que je ne veux pas mettre en tant que 1.3.0, et la prochaine version n'est pas assez complète. Je verrais plus tard si je peux reprendre une vieille archive pour la mettre à jour, et je le signalerais ici).</p>

<p>Voici la correction à faire :</p>

<p>CHERCHER, fonction compile() :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//....
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;inclusions
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(\{\$(?:&#91;a-z0-9_&#93;+\.)?&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*(?:\&#91;(?:&#91;^&#93;&#93;*)&#93;)*})"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl($1,&nbsp;false,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(.+?\.html)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl(\'$1\',&nbsp;false,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(\{\$(?:&#91;a-z0-9_&#93;+\.)?&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*(?:\&#91;(?:&#91;^&#93;&#93;*)&#93;)*})"&#91;\s&#93;+once="(true|false)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl($1,&nbsp;$2,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);&nbsp;
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(.+?\.html)"&#91;\s&#93;+once="(true|false)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl(\'$1\',&nbsp;$2,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>REMPLACER, PAR :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;inclusions
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(\{\$(?:&#91;a-z0-9_&#93;+\.)?&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*(?:\&#91;&#91;^&#93;&#93;+&#93;)*})"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl($1,&nbsp;false,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(.+?\.html)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl(\'$1\',&nbsp;false,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(\{\$(?:&#91;a-z0-9_&#93;+\.)?&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*(?:\&#91;&#91;^&#93;&#93;+&#93;)*})"&#91;\s&#93;+once="(true|false)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl($1,&nbsp;$2,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);&nbsp;
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;include&nbsp;tpl="(.+?\.html)"&#91;\s&#93;+once="(true|false)"&#91;\s&#93;+/&gt;`s'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;$tpl-&gt;include_tpl(\'$1\',&nbsp;$2,&nbsp;0);&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>CHERCHER<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//....
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;foreachs.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;foreach&nbsp;ary="\{\$(&#91;a-zA-Z0-9_.&#93;+)}"&gt;`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;foreach&nbsp;({$$1}&nbsp;as&nbsp;$__tpl_foreach_key&#91;\'$1\'&#93;&nbsp;=&gt;&nbsp;$__tpl_foreach_value&#91;\'$1\'&#93;&nbsp;){&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;foreach&nbsp;ary="\{((?:VALUE,)?\$&#91;a-zA-Z0-9_.&#93;+)}"&nbsp;as="\{\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)}"&gt;`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;foreach&nbsp;({$1}&nbsp;as&nbsp;$__tpl_foreach_key&#91;\'$2\'&#93;&nbsp;=&gt;&nbsp;$__tpl_foreach_value&#91;\'$2\'&#93;&nbsp;){&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{KEY,(&#91;A-Z0-9_&#93;+)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_foreach_key&#91;\'$1\'&#93;;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{VALUE,(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_foreach_value&#91;\'$1\'&#93;$2;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{KEY,\$(&#91;A-Z0-9_&#93;+)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_foreach_key&#91;\'$1\'&#93;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{VALUE,\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_foreach_value&#91;\'$1\'&#93;$2'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>REMPLACER, PAR :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;foreachs.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;foreach&nbsp;ary="\{\$(&#91;a-zA-Z0-9_.&#93;+)}"&gt;`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;foreach&nbsp;({$$1}&nbsp;as&nbsp;$__tpl_foreach_key&#91;\'$1\'&#93;&nbsp;=&gt;&nbsp;$__tpl_foreach_value&#91;\'$1\'&#93;&nbsp;){&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;foreach&nbsp;ary="\{((?:VALUE,)?\$&#91;a-zA-Z0-9_.&#93;+)}"&nbsp;as="\{\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)}"&gt;`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;foreach&nbsp;({$1}&nbsp;as&nbsp;$__tpl_foreach_key&#91;\'$2\'&#93;&nbsp;=&gt;&nbsp;$__tpl_foreach_value&#91;\'$2\'&#93;&nbsp;){&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{KEY,(&#91;A-Z0-9_&#93;+)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_foreach_key&#91;\'$1\'&#93;;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{VALUE,(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_foreach_value&#91;\'$1\'&#93;$2;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{KEY,\$(&#91;A-Z0-9_&#93;+)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_foreach_key&#91;\'$1\'&#93;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{VALUE,\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`i'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_foreach_value&#91;\'$1\'&#93;$2'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>CHERCHER :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Variables&nbsp;"simples"
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$tpl-&gt;vars&#91;\'$1\'&#93;$2;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$tpl-&gt;vars&#91;\'$1\'&#93;$2'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>REMPLACER, PAR :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Variables&nbsp;"simples"
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$tpl-&gt;vars&#91;\'$1\'&#93;$2;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{\$(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$tpl-&gt;vars&#91;\'$1\'&#93;$2'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>Et enfin, CHERCHER<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;blocs&nbsp;et&nbsp;leurs&nbsp;variables&nbsp;(en&nbsp;incluant&nbsp;les&nbsp;arrays)
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace_callback</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;block&nbsp;name="(&#91;a-z0-9_&#93;+)(?:\.(&#91;a-z0-9_&#93;+))?"&gt;`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'compile_tpl_blocs'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{(&#91;a-z0-9_&#93;+)\.(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_blocs&#91;\'$1\'&#93;&#91;\'$2\'&#93;$3;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{\$(&#91;a-z0-9_&#93;+)\.(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)(\&#91;(?:&#91;^&#93;&#93;*)&#93;)*}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_blocs&#91;\'$1\'&#93;&#91;\'$2\'&#93;$3'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>REMPLACER, PAR :<br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>//&nbsp;--&nbsp;Les&nbsp;blocs&nbsp;et&nbsp;leurs&nbsp;variables&nbsp;(en&nbsp;incluant&nbsp;les&nbsp;arrays)
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace_callback</span><span style="color: #006600">(</span><span style="color: #CC0000">'`&lt;block&nbsp;name="(&#91;a-z0-9_&#93;+)(?:\.(&#91;a-z0-9_&#93;+))?"&gt;`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'compile_tpl_blocs'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{(&#91;a-z0-9_&#93;+)\.(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;echo&nbsp;$__tpl_blocs&#91;\'$1\'&#93;&#91;\'$2\'&#93;$3;&nbsp;?&gt;'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$compile&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">preg_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'`\{\$(&#91;a-z0-9_&#93;+)\.(&#91;A-Z_&#93;&#91;A-Z0-9_&#93;*)((?:\&#91;&#91;^&#93;&#93;+&#93;)*)}`'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">'$__tpl_blocs&#91;\'$1\'&#93;&#91;\'$2\'&#93;$3'</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$compile</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/fz6GItExOEc/topic-post-498-talus-tpl-1-3-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-498-talus-tpl-1-3-0.html#p498</guid>
                <comments>http://www.talus-works.net//topic-post-498-talus-tpl-1-3-0.html#p498</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Tue, 19 Aug 2008 13:55:25 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-498-talus-tpl-1-3-0.html#p498</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.3.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>La documentation a (enfin !) été mise à jour.</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/LOwCyKxhxNY/topic-post-454-talus-tpl-1-3-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-454-talus-tpl-1-3-0.html#p454</guid>
                <comments>http://www.talus-works.net//topic-post-454-talus-tpl-1-3-0.html#p454</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Thu, 10 Jul 2008 09:36:57 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-454-talus-tpl-1-3-0.html#p454</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.3.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>Bonjour à tous,</p>

<p>Encore un mini bug, ou plutot une étourderie de ma part. Ceci est valable que pour les maniaques (comme moi ^o^) du W3C : Lors de l'écriture du cache, il pourrait y avoir deux sauts de lignes avant de le début de chaque fichier. C'est normal, vu que il y a des commentaires de stats en début de chaque fichier cache... Ce qui peut fausser la validité des documents au format xHTML Strict, par exemple.</p>

<p>Voici la modification à faire :</p>

<p><h4 class="sous_titre">Fichier require_ftp.php, <span class="souligne">~</span> ligne 63, Chercher :</h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php&nbsp;</span><span style="color: #FF9900">//...
<br /></span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">=&nbsp;(!empty(</span><span style="color: #0000CC">$comments</span><span style="color: #006600">)&nbsp;?&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'/*'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">"\t"&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'*/'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #CC0000">'?&gt;'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">:&nbsp;</span><span style="color: #CC0000">''</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #FF9900">//&nbsp;--&nbsp;Ecriture&nbsp;dans&nbsp;le&nbsp;fichier&nbsp;de&nbsp;cache.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">file_put_contents</span><span style="color: #006600">(</span><span style="color: #0000CC">$dir&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'/'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$cache</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$content</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p><h4 class="sous_titre">Remplacer, par :</h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php&nbsp;</span><span style="color: #FF9900">//...
<br /></span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">=&nbsp;(!empty(</span><span style="color: #0000CC">$comments</span><span style="color: #006600">)&nbsp;?&nbsp;</span><span style="color: #CC0000">'&lt;?php&nbsp;'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'/*'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">"\t"&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'*/'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">PHP_EOL&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'?&gt;'&nbsp;</span><span style="color: #006600">:&nbsp;</span><span style="color: #CC0000">''</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #FF9900">//&nbsp;--&nbsp;Nettoyage&nbsp;du&nbsp;contenu&nbsp;
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$content&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">str_replace</span><span style="color: #006600">(</span><span style="color: #CC0000">'?&gt;&lt;?php'</span><span style="color: #006600">,&nbsp;</span><span style="color: #CC0000">''</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$comments&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$content</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #FF9900">//&nbsp;--&nbsp;Ecriture&nbsp;dans&nbsp;le&nbsp;fichier&nbsp;de&nbsp;cache.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">file_put_contents</span><span style="color: #006600">(</span><span style="color: #0000CC">$dir&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #CC0000">'/'&nbsp;</span><span style="color: #006600">.&nbsp;</span><span style="color: #0000CC">$cache</span><span style="color: #006600">,&nbsp;</span><span style="color: #0000CC">$content</span><span style="color: #006600">);</span>
</span>
</code>
        </div></p>

<p>Les archives ont été mises à jour ^o^</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/fU4VXUwNMSA/topic-post-453-talus-tpl-1-3-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-453-talus-tpl-1-3-0.html#p453</guid>
                <comments>http://www.talus-works.net//topic-post-453-talus-tpl-1-3-0.html#p453</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Tue, 08 Jul 2008 09:46:54 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-453-talus-tpl-1-3-0.html#p453</feedburner:origLink></item>
                
            <item>
                <title><![CDATA[Talus' TPL - 1.3.0 - Releases • Talus' Works]]></title>
                <description><![CDATA[<p>Bonjour à tous,</p>

<p>Voici une petite correction... Ce n'est pas un bug, c'est juste un &quot;changement d'avis&quot; concernant la méthode Talus_TPL::multiparse(). En effet, en premier lieu, celle-ci prenait soit UN argument, qui est un tableau, pour parser plusieurs TPLs ou, si ce paramètre n'était pas fourni, parsé tous les TPLs précédemments définis. Désormais, c'est <strong><em>un tpl</em> par arguments fournis</strong> à cette méthode. Par contre, le fait que si aucuns arguments ne sont fournis, le fait que tous les TPLs précédement définis reste valable...</p>

<p>Voici la petite correction :</p>

<p><h4 class="sous_titre">Chercher, aux alentours de la <strong>ligne 380</strong></h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>/**
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;Parse&nbsp;plusieurs&nbsp;TPLs
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;Si&nbsp;l'argument&nbsp;$tpls&nbsp;est&nbsp;vide&nbsp;(==&nbsp;non&nbsp;fourni),&nbsp;cette&nbsp;méthode&nbsp;parse&nbsp;tous&nbsp;les&nbsp;TPLs&nbsp;définis&nbsp;par&nbsp;Talus_TP::set_file()
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@param&nbsp;&nbsp;array<span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>$tpls&nbsp;&nbsp;&nbsp;Array&nbsp;de&nbsp;tpls&nbsp;à&nbsp;parser.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@access&nbsp;public
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@return&nbsp;void
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*/
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #006600">public&nbsp;function&nbsp;</span><span style="color: #0000CC">multiparse</span><span style="color: #006600">(array&nbsp;</span><span style="color: #0000CC">$tpls&nbsp;</span><span style="color: #006600">=&nbsp;array()){
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #FF9900">//&nbsp;--&nbsp;Si&nbsp;l'aray&nbsp;est&nbsp;vide,&nbsp;on&nbsp;utilise&nbsp;la&nbsp;liste&nbsp;de&nbsp;fichiers&nbsp;actuellements&nbsp;présents.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #006600">if&nbsp;(!</span><span style="color: #0000CC">$tpls</span><span style="color: #006600">){
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$tpls&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">$this</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">files_list</span><span style="color: #006600">;
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>foreach&nbsp;(</span><span style="color: #0000CC">$tpls&nbsp;</span><span style="color: #006600">as&nbsp;</span><span style="color: #0000CC">$tpl</span><span style="color: #006600">)&nbsp;{
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$this</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">parse</span><span style="color: #006600">(</span><span style="color: #0000CC">$tpl</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}</span>
</span>
</code>
        </div></p>

<p><h4 class="sous_titre">Remplacer, par :</h4><br />
<div class="code_overall">
            <span class="code_top">Code PHP</span>
            <code class="code_main code_php"><span style="color: #000000">
<span style="color: #0000CC">&lt;?php
<br /></span><span style="color: #FF9900">//...
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>/**
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;Parse&nbsp;plusieurs&nbsp;TPLs
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;Si&nbsp;aucuns&nbsp;arguments&nbsp;n'est&nbsp;fourni,&nbsp;cette&nbsp;méthode&nbsp;parse&nbsp;tous&nbsp;les&nbsp;TPLs&nbsp;définis&nbsp;par&nbsp;Talus_TPL::set_file()
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@param&nbsp;&nbsp;string<span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>$tpl,...&nbsp;&nbsp;&nbsp;Liste&nbsp;des&nbsp;TPLs&nbsp;à&nbsp;parser.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@access&nbsp;public
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@see&nbsp;Talus_TPL::set_file()
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*&nbsp;@return&nbsp;void
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;*/
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #006600">public&nbsp;function&nbsp;</span><span style="color: #0000CC">multiparse</span><span style="color: #006600">(){
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #FF9900">//&nbsp;--&nbsp;Si&nbsp;il&nbsp;n'y&nbsp;a&nbsp;aucuns&nbsp;arguments&nbsp;fournis,&nbsp;on&nbsp;utilise&nbsp;la&nbsp;liste&nbsp;de&nbsp;fichiers&nbsp;actuellements&nbsp;présents.
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$tpls&nbsp;</span><span style="color: #006600">=&nbsp;</span><span style="color: #0000CC">func_num_args</span><span style="color: #006600">()&nbsp;==&nbsp;</span><span style="color: #0000CC">0&nbsp;</span><span style="color: #006600">?&nbsp;</span><span style="color: #0000CC">$this</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">files_list&nbsp;</span><span style="color: #006600">:&nbsp;</span><span style="color: #0000CC">func_get_args</span><span style="color: #006600">();
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>foreach&nbsp;(</span><span style="color: #0000CC">$tpls&nbsp;</span><span style="color: #006600">as&nbsp;</span><span style="color: #0000CC">$tpl</span><span style="color: #006600">)&nbsp;{
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000CC">$this</span><span style="color: #006600">-&gt;</span><span style="color: #0000CC">parse</span><span style="color: #006600">(</span><span style="color: #0000CC">$tpl</span><span style="color: #006600">);
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}
<br /><span class="highlight_tabs">&nbsp;&nbsp;&nbsp;&nbsp;</span>}</span>
</span>
</code>
        </div></p>

<p>Bonne continuation (les archives ont été mises à jour)</p>]]></description>
                
                <link>http://feedproxy.google.com/~r/tw-releases-messages/~3/vj7Hj9gl1cI/topic-post-451-talus-tpl-1-3-0.html</link>
                <guid isPermaLink="false">http://www.talus-works.net//topic-post-451-talus-tpl-1-3-0.html#p451</guid>
                <comments>http://www.talus-works.net//topic-post-451-talus-tpl-1-3-0.html#p451</comments>
                
                <author>rss@talus-works.net (<![CDATA[Talus]]>)</author>
                <pubDate>Mon, 07 Jul 2008 09:02:43 +0000</pubDate>
            <feedburner:origLink>http://www.talus-works.net//topic-post-451-talus-tpl-1-3-0.html#p451</feedburner:origLink></item>
            </channel>
</rss>
