
Home
» Talus' Works » News » Releases » Talus' TPL - 1.7.0 » Lecture du Sujet » Page 1 | Forum Fermé - Sujet Fermé |
|
|
|
|
Note :: Cette version est désormais périmée, depuis la sortie de Talus' TPL 1.8.0. Je la laisse en téléchargement, mais sachez qu'aucune correction de bugs et autres ajouts de fonctionnalités n'aura lieu ! Bonsoir à tous, 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...). Commençons par les fix et les changements : L'usage des fonctions TPL est désormais déprécié (et désactivé par défaut) 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(). Abordons maintenant les ajouts principaux. Comme je l'ai mentionné au début, il y a maintenant la possibilité de réaliser des includes paramétrées, qui prendront cette forme :
Code TPL
<include tpl="file.html?VARA=valA&VARB=valB&VALC={$MAVAL}" />
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 "choisir" 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. 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 (:-°). Je trouve que j'ai assez blablaté pour la mise en bouche, voici le CHANGELOG.
Code
## 1.6.0 ==> 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 & Compiler)
#ADD : Autoloader pour les classes TPL (Talus_TPL::_autoload())
#ADD : Possibilité de faire un "require" 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 & /dir.file.html
#FIX : Espace en trop lors de la déclaration de fonctions
#FIX : Mauvaise fin de capture pour <set>
#DEL : Emulations de file_get|put_contents() de talus_tpl_cache.php
#DEL : Talus_TPL_Cache::$_filemtime & Talus_TPL_Cache::$_filesize
#DEL : Talus_TPL::$_cache & 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
Et voici les fichiers : La documentation a été complétement mise à jour. LE MOTEUR, A PARTIR DE CETTE VERSION, NECESSITE PHP >= 5.1 !. 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). Si vous trouvez un bug, n'hésitez pas à le signaler... Et, bien entendu, je suis à l'écoute de toute suggestions ! Dernière édition le 12/06/2010, à 20:27, par Talus Dev' de Talus' Works |
| Forum Fermé - Sujet Fermé |