Bonjour à tous,
voici ma question:
j'ai développé un petit environnement web pour moi. Cet environnement gère des reunions de travail et chaque réunion est entrée par l'intermédiaire d'une page précise. Cette page est générée automatiquement via l'ajout de différents modules, selon que ces modules soient autorisés à l'affichage pour l'utilisateur connecté... (page appelée page.php)
Aucun souci jusque là forcément...
Ensuite, j'ai une class Reunion que je déclare dans un fichier externe (fonctions.php) et je l'instancie juste après sa déclarationafin de créer mon objet via un : $reunion = new Reunion();
Aucun soucis jusque là...
Je reviens à présent sur ma page.php à présent. Dans cette page, avant tout autre chose, j'appelle le fichier fonctions.php via un require_once. Je peux désormais utiliser l'objet $reunion et lui définit quelques nouvelles valeurs à ses attributs (genre reunion->date=machintruc). Si je les affiche pas de problème non plus.
Ensuite ma page.php doit afficher les modules, et là, c'est le drame
J'utilise, pour afficher mes modules, une fonction (afficher_module) présente dans mon fichier functions.php. Dans cette même fonction, je teste si l'utilisateur en cours peut afficher le module et je l'affiche, le cas échéans, par un require_once du script php du module (ex: require_once (module_choix_date.php)).
Sauf que si le module a besoin de mon objet $reunion déclaré précédemment, cela va m'afficher une erreur.
En effet, je fais un require_once à l'intérieur d'une fonction et mon objet $reunion n'est forcément pas accessible dans cette fonction puisqu'une fonction n'a que des variables qui lui sont propres...
Je peux régler/contourner le problème en rajoutant un 'global $reunion' dans la fonction mais je ne trouve pas ça très propre...
Existe-t-il un autre moyen pour rendre mon objet $reunion accessible de partout dans le script en cours?
Merci de votre lecture
Partager