
Home
» Talus' Works » Talus' TPL » Général & Support » Système de Plugins » Lecture du Sujet » Page 1 | Forum Fermé - Sujet Fermé |
|
|
|
|
Hello, Je voulais savoir si un système de plugin était prévu ? par exemple, la méthode Talus_TPL_Plugs->add() qui va ajouter dans $this->_hooks (array), de format
Code PHP
array(
|
|
|
|
|
|
La classe est justement extensible faite pour. Donc c'est libre à toi d'étendre la classe Talus_TPL et redéfinir les méthodes que tu veux faire... C'est un des principe de la POO :) Dev' de Talus' Works |
|
|
|
|
Ce n'est pas ça que je veut dire:
Code
php 5.3 ;) sinon y'a call_user_func ;) Talus_TPL_Plugs::register('before'|'on'|'after', 'Compile'|'Filters'|''|'Cache', 'parse'|'setRootDir'|......, function (&$compile)
{
$compile = preg_replace('<<(.+?)>>', '{$1|....}', $compile));
});
Dernière édition le 16/10/2009, à 16:00, par Informpro |
|
|
|
|
|
Je vois toujours pas l'intêret. Surtout en PHP 5.3, PHP 6, ou PHP 2... Comme je te l'ai dit, tyu peux faire :
Code PHP
<?php class My_Talus_TPL_Compiler extends Talus_TPL_Compiler { ... }
Là tu pourra étendre les méthodes que tu veux de la classe Compiler, pour ajouter des particularités (genre ajouter une regex, ..)... Dev' de Talus' Works |
|
|
|
|
et donc devoir réecrire les méthodes .... |
|
|
|
|
|
Bah non... Tu peux appeler la methode parente dans la methode fille. C'est ca le principe de l'héritage...
Code PHP
<?php
Tout simplement... Dernière édition le 18/10/2009, à 13:31, par Talus Dev' de Talus' Works |
|
|
|
|
ça ne gère pas les "pendant" ... |
|
|
|
|
|
En principe t'en as pas besoin, de "pendant". Ca, faut modifier directement le corps de la méthode compile de Talus_TPL_Compiler, ou alors c'est super compliqué pour ce que c'est... Et de toutes facons, c'est ingérable de le faire depuis une méthode externe... Dernière édition le 19/10/2009, à 08:25, par Talus Dev' de Talus' Works |
|
|
|
|
faux ... |
|
|
|
|
|
File donc ta classe. Comme je te l'ai dit, sans modifier la fonction Talus_TPL_Compiler::compile() toi même, ou la réécrire, que tu passes une fonction anonyme, un callback, bref, ca ne changera pas l'execution du "pendant"... Dev' de Talus' Works |
|
|
|
|
si, je modifie la fonction $this->parent->_Plugs->load('on', __METHOD__); |
|
|
|
|
|
Sauf que pour faire une action "pendant", tu ne peux te fier qu'a la classe "Plug" comme tu dis, tu dois donc modifier carrément le code de Talus_TPL_Compiler::compile(). Donc, il ne reste que les "avant" et "après", et ca suffit de faire une extension de Talus_TPL_Compiler, et redéfinir compile()... Je vois donc toujours pas l'utilité d'une classe à part entière... Dev' de Talus' Works |
|
|
|
|
à la base c'était juste pour charger une classe si j'en avais besoin sur une certaine page ... |
|
|
|
|
|
J'en vois donc encore moins l'intêret... Dev' de Talus' Works |
|
|
|
|
Oh ! Allons donc ! Et si jamais je veut alléger le moteur de certaines éléments qui ne me servent pas sur cette page (sur une page je fais une traduction BBCode, sur celle-la non !), je peux ne pas les charger ! |
|
|
|
|
|
Bah écoute, tu peux les changer, la disposition en array est faite exprès pour... Et je vais pas faire UN truc pour UNE personne. Comme je l'ai déjà dit, j'ai, rien que pour la dernière MAJ, plus de 200 téléchargements, ce qui est pas rien (bon, par rapport à d'autres trucs c'est bof, mais j'estime que c'est quand même pas mal)... Donc non, j'en vois toujours pas l'intêret. Surtout quand on peut étendre ; J'ai déjà fait les filtres, ce qui permet de bien étendre le comportement des TPLs, et ca couvre déjà pas mal de choses... Dev' de Talus' Works |
|
|
|
|
Je saaais-heu, et d'ailleurs j'utilise l'héritance pour ça. |
|
| Forum Fermé - Sujet Fermé |