Connexion PDO. construct, ou singleton ? - PHP - Programmation
Marsh Posté le 29-05-2015 à 22:53:12
Bonjour
Je te conseillerai plus le second, le fait de pouvoir passer les identifiants de connexion a la base de données te permettra de te connecter a plusieurs bases en même temps au besoin, ton premier code ne le permet pas
En plus, cela permet d'avoir d'un coté ta librairie et de l'autre coté tes identifiants, ton code sera plus réutilisable comme ca
Marsh Posté le 04-06-2015 à 15:12:25
Par contre, le
Code :
|
c'est pas "pro" du tout... La fonction die/exit arrête l'exécution du script PHP à l'endroit où elle est appelée et finalise la réponse au navigateur en l'état. Donc l'utilisateur final obtiendra le message non formaté 'Erreur de connection' (avec la faute d’orthographe connection/connexion avec un style plus ou moins abouti en fonction de ce qui a été construit.
Dans le cas d'une classe technique, elle devrait émettre ses propres exceptions, c'est-à-dire faire un throw avec une exception personnalisée et tu devrais implémenter un gestionnaire d'exception global à l'application ( set_exception_handler et set_error_handler) qui inscrit des détails de l'exception dans un fichier puis affiche un message général à l'utilisateur (eg "Une erreur technique est survenue, veuillez contacter..." ) ou redirige vers une page d'erreur.
Marsh Posté le 04-06-2015 à 22:04:19
La 1ère.
T'as une instance unique accessible de partout, alors qu'une instance "standard", tu ne l'as accessible que dans le contexte aval à ton instanciation.
Si tu as plusieurs BDD a attaquer, fais plusieurs instance de PDO dans le même singleton.
Avec plus de recul, si tu te pose cette question, c'est qu'il te manque de la pratique en POO.
Marsh Posté le 04-06-2015 à 22:13:50
Ok, merci pour les conseils. j'ai débuté le PHP fin février 2015, donc effectivement il me manque de la pratique.
Marsh Posté le 28-05-2015 à 15:14:16
Bonjour,
je suis débutant en POO.
j'aurai une question SVP.
Pour une classe connexion avec la BDD, est-ce mieux de le faire avec un constructeur, ou avec un singleton?
Voici mes 2 codes, je ne sais pas le quel choisir. Svp, je souhaiterai savoir, lequel des 2 fait le + pro, et le + performant.
Singleton:
Ou Constructeur:
Merci beaucoup.
Message édité par 13stephweb13 le 28-05-2015 à 15:15:45