IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Doute sur la conception d'une classe, abstraite ou singleton


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Commercial
    Inscrit en
    Août 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Commercial
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Doute sur la conception d'une classe, abstraite ou singleton
    Bonjour,

    Je développe pour mon usage perso en PHP depuis pas mal d'année en procédural et je m'initie actuellement à la POO.
    J'aimerais être éclairé sur un point, par ceux qui ont plus d'expérience que moi dans le domaine ..

    J'ai codé une classe qui permet de communiquer avec ma base de donnée mysql, en encapsulant PDO,en gros la partie Modele de mon projet, sachant que je ne vois pas l’intérêt de faire plusieurs instances j'hésite alors entre plusieurs conception de celle ci, j'ai beau réfléchir mais je vois pas quelle solution serait la meilleure (et j'imagine qu'il me reste pas mal de chose à comprendre..) :

    - Une classe abstraite encapsulant une instance de PDO en statique, éventuellement je peut la faire hériter sur des classes qui géreront spécifiquement chaque table de ma base de donnée. Dans ce cas celle-ci n'est jamais instanciée, je fais appel à la classe la syntax Maclasse::fonction(); ..
    - Une classe instanciable mais fonctionnant en Singleton, donc autorisant qu'une seule instance d'elle même et biensûr mon PDO en statique
    - Une simple classe instanciable, créer une nouvelle instance chaque fois que nécessaire (avec PDO en objet statique à l'intérieur ou réinstancié chaque fois PDO..)
    - Une classe héritant de PDO plutôt que de créer l'instance à l'intérieur de la classe

    Qu'en pensez-vous ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Dans tous les cas il faut te débrouiller pour que la connexion ne s'instancie qu'une fois. On ne ferme pas une connexion pour en ouvrir une autre plus tard dans le même script sinon c'est handicapant pour le serveur de sgbdd.

    Après le choix entre récupérer la valeur de la classe statique à l'intérieur de la fonction/classe ou le fait de passer la connexion en argument, c'est plutôt selon tes besoins. Le passage en argument permet de mieux découpler la connexion de la fonction ou de la classe qui l'utilise. Mais c'est principalement utile pour des développements génériques ou si par exemple tu dois gérer plusieurs connexions différentes (donc plusieurs bases). Dans le cadre d'un développement spécifique c'est moins important et ce n'est pas handicapant. Donc si possible en argument, mais pas obligatoirement. A toi de voir entre les avantages et les inconvénients.

    Concernant l'héritage, cela crée la même dépendance que d'inclure la récupération directement depuis un singleton et ça supprime la possibilité d'hériter d'autre chose de plus utile donc à déconseiller.

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/09/2012, 17h37
  2. Question sur la conception d'une classe type Logger
    Par NLS le pingouin dans le forum C++
    Réponses: 14
    Dernier message: 01/11/2010, 13h36
  3. Introspection sur une classe abstraite
    Par sanchou dans le forum Général Java
    Réponses: 2
    Dernier message: 22/04/2010, 14h16
  4. Réponses: 3
    Dernier message: 18/11/2009, 16h48
  5. Conception: héritage d'une classe abstraite
    Par Kikito dans le forum Langage
    Réponses: 19
    Dernier message: 05/10/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo