Bonjour,
Je travaille sur un site tout simple (multilangue). J'ai cependant un soucis avec mes variables.
Prenons l'exemple de ma variable $lang à laquelle je dois accéder un peu partout dans mon code.
Les classes
Dans mes méthodes de classe, je dois ajouter global $lang pour y accéder. J'ai lu que ce n'était pas particulièrement une bonne pratique, et qui plus est ca me semble fastidieux. Je suis étonné déjà de ne pas pouvoir définir ma variable globale dans mon __construct().
Puis-je créer une variable globale une fois par classe ?
J'ai lu pas mal de choses sur le pattern Singleton et Registry mais encore une fois les deux sont bcp critiqués.
Scope
J'utilise un parser pour mon css. Autrement dit, tout css appelé (balise link) est redirigé vers une page php (via htacess) pour améliorer le code (dans le genre de LESS).
Mon soucis est qu'alors que je génère une même page, le code qui génère mon css a l'air d'être totalement indépendant de ce qui se passe sur le site.
Si j'ai ouvert une session dans mon index.php et que dans ce même fichier j'appelle mon css (balise link), je n'ai pas accès à ma session dans le code qui parse mon css. Je suis obligé d'ouvrir à nouveau ma session.
Il est donc indispensable pour moi que ma configuration soit accessible à travers d'un fichier ou de session. Mais dans ce cas, je ne vois pas du tout l'intérêt d'un singleton/registry. Pourquoi ne pas passer directement par les sessions qui sont superglobales ?
Quel est le meilleur moyen de rendre mes variables globales en somme prenant en compte que je souhaite que mes fichiers de configurations soient permanents pour mon parser CSS sans avoir à faire tourner deux fois le même code ?
Merci d'avance pour votre aide.
Partager