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] Utilisation d'une classe dans les autres classes


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut [POO] Utilisation d'une classe dans les autres classes
    Salut à tous.
    Je débute en php, et j'y commence à y prendre gout et donc, j'ai decidé d'attaquer fort.
    J'ai une classe de connection à la base de donnée : TConnection .
    J'ai une classe gérant les utilisateurs (connection,deconnection, inscription, validation etc) : TUser.
    Actuellement, la classe TUser implemente la fonction de connection vers la bdd.

    La question :
    Comment implementer la classe TUser et les divers autre qui vont suivre pour que ceux-ci utilise la classe TConnection pour la connection à la bdd.

    Merci

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Salut,
    Quelles sont les méthodes de ta classe de connexion ?
    Ca donnerait plus ou moins quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    require_once("Connexion.class");
    Class User {
     
       var $user_id;
     
       function userExist() {
          $connexion = new Connexion();
          $sql = "SELECT * FROM user WHERE user_id = '.$this->getUserId().'";
          $result = $connexion->execSQL();
          ...
       }
    }


    Sinon, j'ai un petit doute : quand tu parles de "implémenter", tu parles de "contient le code source qui" ou tu parles de "implements" le mot clé ?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    utilise si c'est possible le principe de l'heritage meme si conceptuellement ce n'est pas vraiment ça. Tconnection aurait certainement dû etre une interface

  4. #4
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Salut.
    Actuellement, la classe TConnection a une fonction :
    - connect(); pour se connecter à la base de donnée.
    - disconnect(); pour se deconnecter de la base de donnée
    - quelques fonctions pour manipuler les requêtes.

    Merci.

  5. #5
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Citation Envoyé par nako
    Salut,
    Sinon, j'ai un petit doute : quand tu parles de "implémenter", tu parles de "contient le code source qui" ou tu parles de "implements" le mot clé ?
    La classe Tuser contient actuellement une methode de connexion à la base de donnée.
    Grosso-modo,
    La classe TConnection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Class TConnection
    {
         $Serveur = "";
         $Bdd = "";
         $BddUser = "";
         $BddPwd = "";
         function TConnection($Serveur,$Bdd,$BddUser,$BddPwd)
        ....
          function Connect()
        ...
          function Disconnect()
        ....
    }
    1- j'aimerais declarer une variable $Conn de type TConnection dans TUser et les autres classes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Class TUser
    {
        $Connection;
        $Pseudo = '"";
        $Passe   = ""; 
        function TUSer($Connection,$Pseudo= "",$Passe= "")
        {
             $this->Connection = $Connection;
             $this->Pseudo = $PSeudo;
             $this->Passe = $Passe;   
        }
    2- Lors de l'utilisation : Instancier une variable de type TConnection et utiliser cette objet dans TUser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        $Conn = new TConnection("LocalHost","MaBdd","bddUsr","bddpswd");
        $MyUser = New($Conn,"Andry","test");
        $MUser->Conn->Connect();
    Comme je n'ai pas de serveur de test au bureau, est ce possible de faire comme ça.

    Merci

    PS. D'habitude, j'utilise Delphi pour mes dev mais la je me passione pour le web.

Discussions similaires

  1. Utilisation d'une map dans les GSP
    Par Iverstan dans le forum Grails
    Réponses: 2
    Dernier message: 01/04/2011, 19h42
  2. Réponses: 1
    Dernier message: 01/06/2009, 10h56
  3. [XL-2003] Problème avec utilisation d'une fonction dans les formules
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2009, 10h43
  4. [POO] mysql dans les autre classes ou pas?
    Par ibasticour dans le forum Langage
    Réponses: 3
    Dernier message: 06/05/2008, 14h40
  5. [Joomla!] appel de fonction d'une autre classe dans un autre fichier
    Par lkryss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 27/07/2007, 16h55

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