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 :

[POO] PHP5 Objet


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut [POO] PHP5 Objet
    Bonjour à tous !

    Voila mon probleme :

    J'ai une classe abstraite "utilisateur" et une classe administrateur en héritant.
    Jusqu'ici tout va bien
    La ou ça se corse, c'est que ma classe utilisateur a besoin de connaitre la classe administrateur.

    Donc si je fais gentiment un include('administrateur.php') juste avant de définir ma classe utilisateur, PHP gueule un coup car administrateur va demander la classe utilisateur qui se trouve juste après ...

    Je me souviens avoir eu ce problème en C++ mais là ça se reglait facilement en indiquant en début de programme une sorte de prototype de la classe (class MaClasse , mais là par contre en PHP je seche

    Quelqu'un aurait une idée ?

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    une question, pourquoi ta classe utilisateur a besoin de connaitre ta classe administrateur? ca devrait pas être l'inverse normalement?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Car la classe utilisateur va servir en quelque sorte de "factory" et pourra créer des objets administrateur, etudiant et entreprise.

    C'est pour pouvoir charger d'une manière générique et transparente ces objets depuis ma base de données.

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je pense que c'est une mauvaise solution. J'aurais plutot fait un UserFactory à part...

    Sinon pour résoudre ton problème, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    class Utilisateur {
       function foo() {
          switch ($type) {
             case 'etudiant':
                require_once('etudiant.php');
                $user = new Etudiant();
                break;
             case 'admin':
                require_once('admin.php');
                $user = new Admin();
                break;
             default:
                break;
          }
          return $user;
       }
    }
     
    --------------------------
    require_once('utilisateur.php');
    class Admin extends Utilisateur {
    }
    --------------------------
    require_once('utilisateur.php');
    class Etudiant extends Utilisateur {
    }

Discussions similaires

  1. [POO] PHP5 objet et session
    Par deborah95 dans le forum Langage
    Réponses: 4
    Dernier message: 17/04/2007, 20h58
  2. [POO] Prog objet php5
    Par masseur dans le forum Langage
    Réponses: 2
    Dernier message: 21/09/2006, 11h30
  3. [POO] Pb objet PHP5
    Par alliance dans le forum Langage
    Réponses: 3
    Dernier message: 20/08/2006, 19h39
  4. [POO] Problème objets PHP5
    Par alliance dans le forum Langage
    Réponses: 2
    Dernier message: 16/08/2006, 17h39
  5. Réponses: 3
    Dernier message: 19/05/2005, 10h46

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