Hooks [Réglé]
Envisageable ?
Créations de Modules
SchyzoO Membre non connecté
Booster Fuzil
- Booster Fuzil
- Voir le profil du membre SchyzoO
- Inscrit le : 06/07/2014
- Groupes :
Pour des besoins particuliers, j'étudie la faisabilité de mettre en place des hooks, des hameçons à la sauce Wordpress qui permettent d'exécuter du code depuis un module lorsque c'est un autre qui est appelé.
Est-ce qu'il y aurait une piste à explorer notamment dans le ExtensionPointProvider ou alors il faudrait partir sur un redéveloppement des modules ?
Plus largement sinon, y'a t-il un fichier appelé (s'il existe) dans tous les modules même s'ils ne sont pas lancés ?
Merci, bon courage.
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
<a href="/forum/topic-17397+interdependance.php">https://www.phpboost.com/forum/topic-17397+interdependance.php</a>
j1.seth Membre non connecté
- Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
- Chef de Projet
- Equipe Développement
En effet c'est en cours de réflexion pour intégration dans la prochaine version majeure en cours de développement. Ça ne sera peut-être pas prêt pour la première version bêta qui ne va plus tarder mais arrivera avant la version finale.
j1.seth
SchyzoO Membre non connecté
Booster Fuzil
- Booster Fuzil
- Voir le profil du membre SchyzoO
- Inscrit le : 06/07/2014
- Groupes :
Y'a t-il une adresse d'une roadmap ou autre accessible au public ? J'ai bien vu le todo sur Github mais il n'est plus actualisé.
Merci
j1.seth Membre non connecté
- Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
- Chef de Projet
- Equipe Développement
SchyzoO Membre non connecté
Booster Fuzil
- Booster Fuzil
- Voir le profil du membre SchyzoO
- Inscrit le : 06/07/2014
- Groupes :
Pour l'heure, j'ai réussi à faire ce que je voulais sans que ce soit trop intrusif :
J'ai créé une classe que l'on peut placer où l'on veut, et qui gère les hooks.
Dans les index de chaque module, avant de dispatcher, je récupère la liste des modules actifs. Pour chacun de ces modules, je cherche s'il existe un fichier 'hooks.php'. Dans ces fichiers, juste du code pour enregistrer les hooks (Nom du hook, classe et méthode statique à exécuter, et les paramètres associés).
Dans le code du module existant, je fais exécuter le hook où je souhaite (juste une ligne à ajouter dans un contrôleur en gros), et grâce à l'autoloader de PHPBoost tout s'exécute tout seul.
Depuis un module, j'arrive à faire exécuter du code dans un autre, ou modifier le contenu qui va être affiché, rajouter des données dans la BDD, etc etc.
Donc ça fonctionne, je passe en résolu. Merci.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie