Voilà je suis en train de refaire toute l'architecture dev de mon site, et dans un soucis d'optimisation de mes scripts finaux, j'ai dans l'idée de laisser mes classes gérer elles-mêmes leur connexion à leur base de référence.
Par exemple :
ma classe utilisateur ouvrira (via __construct) et fermera (via __destruct) la connexion à la base utilisateur dont elle a besoin pour travailler.
ma classe newsletters idem pour une connexion à la base newsletters
etc ...
Les questions que je me pose sont :
- Si je fais appel à 3 classes dans mon script final, cela va ouvrir 3 connexions à la base, donc est-ce que je ne risque pas de surcharger ma base avec ce système ? Sachant biensûr que je ne serai pas le seul sur ce site, cela va sans dire
- Question surement basique, mais pour laquelle je n'ai pas de réponse, à quel moment le __destruct d'une classe est-il lancé ? A la fin du script qui fait référence à la classe, ou lorsque la classe n'est plus utilisée dans le script ?
Par exemple, si j'initialise ma classe utilisateur à la ligne 1 et ma classe newsletters à la ligne 2.
J'en ai fini avec ma classe utilisateur à la ligne 60 et ma classe newsletters à la fin de mon script ligne 120. Le __destruct d'utilisateur sera-t-il exécuté à la ligne 60 ou 120 ?
Et je me retrouve aussi dans une situation à la connexion se fait à la même base pour une groupe de classe, mais sur des tables différentes biensûr. Et si le système était valide pour des bases différentes, l'est-il toujours pour des tables différentes ?
Merci d'avance pour vos réponses.
Un bon maître a ce souci constant : enseigner à se passer de lui.