Bonjour,

Je voudrais un avis car je ne suis pas certain de faire correctement avec mon controller.
Je voudrais exécuter plusieurs actions sans avoir à me soucier de la vue demandée. Par exemple un contrôle sur une variable de session. Quel que soit la page demandée je fais ce contrôle.
Aujourd'hui je le place dans la fonction __construct() de mon controller.

Est-ce une bonne façon de faire ?

D'avance merci.

6 réponses


iriven
Réponse acceptée

slut
même si ton site continuera à fonctionner en mettant directement tes différents contrôles dans le constructeur de ton controller, je pense que l’idéal serait de les placer dans le fichier hook.php qui est fait pour çà.
Aussi personnellement je ne suis pas pour un stockage des données de configuration dans la Bdd, qui en cas de fort trafic aura de réelles conséquences sur les performances du Server de bdd. un stockage dans un fichier type .ini, .xml,.yaml,.json entraînera à mon avis une lecture plus rapide de celles-ci et sera d'une aide précieuse pour le serveur mysql qui se verrait ainsi soulagé de requêtes dont il pouvait s'en passer.

Msappdem
Auteur

Bonjour,

J'apporte une précision pensant ne pas avoir être trop clair sur mon contrôle.
Par exemple je souhaites limiter le temps de la session d'un utilisateur à 15 minutes. Je dois donc contrôler la différence de temps entre l'ouverture de la session et ma limite, donc je fais ce contrôle dans la fonction __construct() du controller principal ainsi à chaque rechargement je peux lancer une action.

Autre exemple avec mes paramètres de configurations que je stock en base de données, il y'à des paramètres dont j'ai besoin sur toute les pages et je les charges ici.

Mon fonctionnement est il correct selon vous ?

Merci.

Msappdem
Auteur

Merci pour ces conseils, je vais modifier mon controller.

Pour la configuration je ne savais pas trop comment m'y prendre donc j'ai choisi la méthode de stockage en base de donnée mais à te lire je pense que je pourrais adapter mon code pour ne pas avoir tout à refaire mais lors de l'enregistrement (donc de changement) de la table configuration, enregistrer dans un fichier (ini par exemple) pour venir chercher la valeur dans ce fichier au lieu de faire un appel à la base de donnée.

Je vais suivre tes conseils.

9 Fonctions et fonctionnalités que vous devez connaitre sur PHP

Même après l’utilisation de PHP depuis des années, nous trébuchons sur les fonctions et caractéristiques que nous ne connaissions pas. Certains d’entre eux peuvent être très utile mais pas utilisés, voire inconnue. J’ai donc créer une liste de 9 fonctions et fonctionnalités PHP qui sont incroyablement utiles.
Je vous fournit à chaque fois mon code source, pour que vous puissiez essayer par vous même. Si vous aussi, vous connaissez d’autres fonctions PHP que vous jugez utiles, mais qui ne pas très exploitées, veuillez nous les partager en commentaires !

Lire la suite http://www.cartel-belli.com/9-fonctions-et-fonctionnalites-que-vous-devez-connaitre-sur-php/

Slut Msappdem
pour l'adaptation de ton code je te suggère cette classe:
http://www.grafikart.fr/forum/topic/11264

Msappdem
Auteur

Bonjour,

Merci, effectivement je m'en suis inspiré pour gérer ma configuration. J'ai quand même gardé l'enregistrement en base de données pour le moment car je suis en train de refaire mon backoffice et je ne voulais pas oublier des paramètres.

Merci.