Re: Un pipeline avant calcul pour modifier le contexte
James <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CAE50Zk54DA9ua7wj6k8K8LawXGyzVQ4mBVGVRLVBUVv+BHF7rA@mail.gmail.com> |
Le 2 juin 2018 à 11:39, RastaPopoulos <[email protected]> a écrit : > Voici la proposition pour ajouter un pipeline juste avant le calcul du > PHP en HTML qui permet d'avoir accès au tableau de contexte pour faire > ces calculs. > Ok. :-) > > Cela permet de faire des ajouts ou modifs avant le cache, comme changer > un tri par défaut, ajouter un drapeau qui sera récupérer plus tard, etc. > > Cela ne change strictement rien, c'est juste une porte en plus, Donc, ça ajoute une porte, c'est pas rien ;-) > mais > permet des choses pour celleux qui en auraient besoin. Donc je montre le > patch là, et je propose de l'ajouter en trunk et backporter en 3.2 > puisque ça ne change rien. > Dans l'absolu, tu enrichis en ajoutant une nouvelle fonctionnalité sans introduire de BC Break : ça change une API. Un changement rétrocompatible d'API nécessite d'incrémenter la version mineure du logiciel... Comme la version de SPIP ne reflète pas vraiment son API... Donc pas d'objection, juste ce petit pinaillage pour rappeler la théorie ^^ et que dans la pratique l'API de SPIP mériterait qu'on y réfléchisse. :p > > Pour le nom j'ai mis "contexte_pre_calcul", peut-être qu'il y a mieux. > C'est avant l'appel à public/composer (oh, on en avait déjà un, dis-donc :D) On pourrait sans doute trouver moins vague que "calcul" : contexte_pre_composition ? Il faudra documenter que les fonctions qui seront codées pour s'enregistrer dans ce pipeline devront retourner uniquement la partie 'data' du tableau passé en paramètre. /** * Les modifs de contexte de mon plugin "prefix". * * @param array $param un tableau à 2 clés 'args' contenant le $fond et le $skel et 'data' contenant le $contexte calculé. * * @return array le contexte modifié */ function prefix_contexte_pre_composition (array $param): array { //manips avec la partie $param['args'] ici ... ///modifs dans la partie $param['data'] là ... return $param['data']; } Est-ce qu'il ne faudrait pas aussi ajouter ce pipeline dans ecrire/paquet.xml ? > > -- > RastaPopoulos > > _______________________________________________ > liste: http://listes.rezo.net/mailman/listinfo/spip-dev > doc: http://www.spip.net/ > dev: http://trac.rezo.net/trac/spip/ > irc://irc.freenode.net/spip > -- James