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 :

interconnexion des classes quel interet? [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2011
    Messages : 141
    Points : 136
    Points
    136
    Par défaut interconnexion des classes quel interet?
    Bonjours, après quelques recherches sur internet vus que je n'ai rien trouvé je viens vous poser la question.
    Dans une application web en php 5, j'ai fais un système de classes comme suit .(les noms des classes sont purement fictif)

    Je précise que je n'emploie pas de freamworks.

    Mais l’ingénieur de mon entreprise me dit que ce n'est pas une bonne disposition. Que les classes doivent être plus interdépendantes les unes des autres et sans être capable de me dire pourquoi. Que c'est comme ça qu'il a appris il y a 3ans à son école.

    Je vois pourtant un grand avantages à mon système qui est qu'en cas de modification de classe, on supprime les risques de bug dans les autres classes. Chaque classe est indépendante.

    Quel intérêt de rendre les classes plus interdépendantes? Je précise que j'emploie un fichier où toutes les classes sont appelées via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require('classe1.class.php')
    Je vous remercie d'avance pour vos réponse au jeune padawane que je suis.
    Donne un poisson à un homme et tu le nourris pour un jour, apprend lui à pécher et tu le nourris pour toujours.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    avril 2007
    Messages
    8 632
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2007
    Messages : 8 632
    Points : 16 367
    Points
    16 367
    Par défaut
    Je ne comprends trop ce que signifie "des classes interdépendantes".

    Si des classes sont des modèles, ça peut avoir de l'intérêt. Par exemple, pour une application de vente en ligne, tu peux avoir une classe Produit, avec des sous-classes Vetement et Chaussure, une classe Utilisateur et une classe Panier qui contient un Utilisateur et une liste de Produit.
    Si tes classes sont des contrôleurs, il ne va sans doute pas y avoir des masses de relation entre la classe qui gère le panier et celle qui affiche le plan du site, en dehors des fonctions communes...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    août 2003
    Messages
    6 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 6 434
    Points : 18 763
    Points
    18 763
    Par défaut
    Que les classes doivent être plus interdépendantes les unes des autres
    En général c'est l'inverse , on essai de rendre les classes les plus indépendantes possible , pour faciliter leur test unitaire et leur maintenance.

    Dans ton cas tu as des classes qui hérite de PDO . Le problème c'est que tu fais cela car tu dois avoir besoin d'accéder à une BDD dans tes classes, c'est une erreur.

    L'héritage doit avoir du sens, par exemple la classe voiture hérite de la classe véhicule. Par contre la classe vacance n'a absolument aucune raison d'hériter de véhicule , pourtant on utilise un véhicule pour partir en vacance ...

    Dans ton cas tu doit injecter la dépendance PDO dans tes classes et non pas en hériter.
    Ça se fait de deux façons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objet = new MaClasse($instancePDO);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $objet = new MaClasse();
    $objet->setPDO($instancePDO);
    On préférera la première quand l'objet PDO est indispensable au bon fonctionnement de la classe.

    Ce qu'à peut être voulu dire ton collègue ,c'est que toute des classes on peut être un facteur commun que tu vas pouvoir réunir dans une classe mère (encore une fois faut que ça ai du sens)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 6 142
    Points : 16 473
    Points
    16 473
    Billets dans le blog
    12
    Par défaut
    Salut,

    un peu de lecture ici

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2011
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2011
    Messages : 141
    Points : 136
    Points
    136
    Par défaut
    Je vous remercie pour vos réponses. J'ai appris des choses interessante et je me suis rendu compte que je faisais des horreurs. Je vais devoir changer ma manière d'introduire mes classes.
    Donne un poisson à un homme et tu le nourris pour un jour, apprend lui à pécher et tu le nourris pour toujours.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/02/2011, 11h15
  2. [JAX-WS] quel est le role des classes générée avec WSGen
    Par solawe dans le forum Services Web
    Réponses: 2
    Dernier message: 05/05/2008, 12h44
  3. Quels classes utiliser pour remplacer des classes qui sont propriété de Sun
    Par danyboy85 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/11/2007, 17h36
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 10h35
  5. Inserer des classes java existantes
    Par 2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/03/2003, 13h35

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