Re: [Galette-devel] Les plugins peuvent-ils étendre le comportement de Galette

[ Thread Index | Date Index | More lists.galette.eu/devel Archives ]


Hello,

Le 16/02/2020 à 18:02, Nicolas Béhier-Dévigne a écrit :
Bonjour Johan,
Je crois avoir réussi le test. J'ai proposé une solution : https://github.com/nbehier/galette/commit/473b19cb04fa87a920d8235b3c2ff6d8158733ff J'ai ajouté une méthode loadEventProviders au chargement des plugins, qui charge tous les écouteurs d'événements des plugins s'ils possèdent la classe PluginEventProvider.
J'ai ajouté deux événements member.add et member.update pour les tests.
J'ai créé un plugin avec le fichier lib/PluginEventProvider.php sur la base de https://event.thephpleague.com/2.0/listeners/providers/ et je récupère bien l'objet member et je peux en faire ce que je veux (sur la capture ci-jointe, tu peux voir que j'ai ajouté un log avec le fullname de l'adhérent).
Est-ce que cela te paraît aller dans le bon sens ?

Ouais, tout à fait ; ça me semble nickel :)

Je n'ai pas eu le loisir de regarder de très près, mais l'approche me semble tout à faire correcte, et s'intègre sans trop de difficultés (le diff reste très light, c'est plutôt bon !).

Juste une remarque au sujet de la lib, qui ne semble plus maintenue (rien depuis 2 ans, alors que slmi4 existe depuis un moment maintenant). Bon, dans l'absolu, ça ne fait qu'un problème de plus pour la migration à Slim4, ce n'est as si grave.

En revanche, l'auteur indique clairement que sa lib n'est pas trop prévue pour fonctionner en PHP 7... Je ne sais pas trop pourquoi, mais il faut clairement que les libs supportent les mêmes versions de PHP que Galette.

Ceci étant dit, je n'ai pas de solution alternative à proposer, si ça fait le boulot, y compris en PHP 7.4, ce sera bon.

Enfin, juste une note technique ; je ne suis pas certain que les évènements devraient être déclenchés depuis les routes. L'ajout d'un adhérent pourrait venir d'un autre endroit (même si ce n'est pas le cas actuellement), et dans ce cas les évènements ne seraient pas lancés. Par ailleurs, quelques tests sur cette partie pourraient être intéressants ; et ne sont pas possibles sur les routes :/

Merci en tous cas ! :)

++
--
Johan

--
Galette development - http://galette.eu/

List documentation: https://listengine.tuxfamily.org/lists.galette.eu/devel/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/