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

Symfony PHP Discussion :

Héritage avec doctrine [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 14
    Points
    14
    Par défaut Héritage avec doctrine
    Bonjour,

    Je suis en cours de réalisation d'une app web et j'ai un soucis d'héritage avec doctrine.

    J'ai 3 classes, Membre, Prof, Eleves qui héritent de Personne.

    Le problème est que ces relations peuvent ne pas être exclusives.
    Une personne peut être juste soit membre, prof, élève ou une combinaison des 3 ( (prof et membre), (membre et eleve) , ... ).

    Doctrine dans ses héritages ne me propose rien qui m'intéresse.
    J'ai retourné le problème dans tous les sens depuis quelques jours, et j'aurais aimé un avis sur ma solution.

    => Je laisse tomber l'héritage "classique", j'aurais 4 classes concrètes et des relations OneToOne entre mes objets.

    Est-ce une solution élégante et envisageable ? Ou alors je n'ai pas encore assez réfléchi au problème.

    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut
    Bonjour,
    Quelles sont les informations que tu as besoin sur Personne, élève membre et prof?
    L'utilité de l'héritage se pose effectivement...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Pour personne, j'ai des champs standards (prénom; nom, .... )

    Pour membre, prof, élève j'ai quelques booléen ( actif, .. ).

    J'étais parti à la base sur un découpage pour éviter d'avoir une table unique d'où partent tout un tas de relations qui parfois seraient à NULL.
    Ca faisait plus "propre" sur papier ^^.
    Et aussi avoir une gestion plus facile des utilisateurs. Ex : Un membre a accès au forum, à l'agenda de réunions, ...
    Un prof au planning de ses classes, un élève à pas grand chose mais on aura les infos de ses parents par exemple.

    Ou alors je dois revenir vers ce schéma de big table d'ou part tout.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut
    Il faut que tu mettes tes relations propriétaires OneToOne du côté de membre, prof et élève...Du coup, il n'y a pas de nullité.
    Un membre, prof ou élève est obligatoirement rattaché à une personne.

    Je ne suis pas une experte en symfony mais je pense que j'aurais fait comme ça...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    J'ai laissé tomber l'héritage avec doctrine.
    J'ai du O2O entre mes classes, ca fonctionne.

    Merci

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Il n'y'a pas d’intérêt d'héritage ou de table commune Personne dans ton cas.
    Tes personnes sont des entités qui n'ont rien de commun au sens métier. Elles ont juste des informations que tu souhaite factoriser.
    Si tu ne veux pas dupliquer les informations communes (addresses, informations de connections) il te suffit de faire une table d'adresse reliés avec les profs, les élèves les membres etc..

    A ta place je laisserai tomber la table personne qui n'a aucune utilité de mon point de vue.

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

Discussions similaires

  1. Problème d'héritage avec une classe abstraite
    Par Ph.denis dans le forum C++
    Réponses: 7
    Dernier message: 22/03/2008, 10h37
  2. héritage avec sql server
    Par yohann007 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 30/08/2007, 21h30
  3. Héritage avec tables liées à une autre base
    Par b_steph_2 dans le forum Access
    Réponses: 13
    Dernier message: 27/02/2007, 11h17
  4. Generics et héritage avec Java 5.0 Tiger
    Par euyeusu dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2007, 11h41
  5. Utiliser un héritage avec exclusion mutuelle correctement
    Par akecoocoo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/11/2005, 22h54

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