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] Extend d'une classe de connexion


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut [POO] Extend d'une classe de connexion
    Bonjour à tous,

    Je suis en train de me remettre dans la poo et j'ai récupéré la classe de connexion disponible sur php.net (http://fr3.php.net/manual/fr/languag...p5.magic.sleep)


    Cette classe fonctionne sans problème et je peux faire des requêtes sql.
    Cependant, j'ai crée une nouvelle classe utilisateur, dans laquelle j'aurai besoin de faire des requêtes sql.
    Voici le code :
    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
    class useraccount extends connection {
     
    	protected $identifiant;
    	protected $motdepasse;	
     
    	public		function __construct($identifiant,$motdepasse){
    		$this->identifiant = $identifiant;
    		$this->motdepasse = $motdepasse;
    	}
     
    	public function login() {
    		echo "LOGIN : " . $this->identifiant . " - MDP : " . $this->motdepasse;	
     
    	}
     
     
    }
    Jusque là tout va bien, ma fonction login me retourne bien les info saisies dans le formulaire. Cependant j'aimerai que ma fonction login se connecte dans la base de donnée pour vérifier si l'utilisateur existe.

    Comment dois-je faire car à présent aucun de mes essais n'a fonctionné !

    Merci

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 144
    Par défaut
    Bonjour,
    A ta place, je ferais ta classe de connexion récupérée sur php.net en classe abstraite. Comme cela, tu pourra l'étendre dans chaque classe où tu aura besoin de te connecter à ta base de données. Et en plus tu pourra définir deux types de méthodes :
    - Les méthodes normales (qui serviront à rendre des services à ta classe étendue)
    - Les méthodes abstaites (que tu devras "surchargée" dans ta classe étendue)

    En quelques sortes, ces méthodes abstraites sont des "corvées" que la classe mère (ta classe abstaite) laisse faire à la classe étendue.

    Plus d'information ici :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Exemple de classe abstraite
     
     
    <?php
    abstract class AbstractClass 
    {
        // Force la classe étendue à définir cette méthode
        abstract protected function getValue();
        abstract protected function prefixValue($prefix);
     
        // méthode commune
        public function printOut() {
            print $this->getValue() . "\n";
       }
    }
     
    class ConcreteClass1 extends AbstractClass 
    {
         protected function getValue() {
           return "ConcreteClass1";
         }
     
         public function prefixValue($prefix) {
           return "{$prefix}ConcreteClass1";
        }
    }
     
    class ConcreteClass2 extends AbstractClass 
    {
         public function getValue() {
           return "ConcreteClass2";
         }
     
         public function prefixValue($prefix) {
           return "{$prefix}ConcreteClass2";
        }
    }
     
    $class1 = new ConcreteClass1;
    $class1->printOut();
    echo $class1->prefixValue('FOO_') ."\n";
     
    $class2 = new ConcreteClass2;
    $class2->printOut();
    echo $class2->prefixValue('FOO_') ."\n";
    ?>

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Par défaut
    Salut,

    Merci pour ton aide, je vais m'orienter vers l'abstraction qui me semble etre une bonne solution.

    ++

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

Discussions similaires

  1. [POO] création d'une classe de connexion
    Par artotal dans le forum Langage
    Réponses: 1
    Dernier message: 14/02/2008, 12h01
  2. Réponses: 6
    Dernier message: 07/03/2006, 10h51
  3. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 14h34
  4. Réponses: 19
    Dernier message: 02/02/2006, 23h30
  5. Réponses: 3
    Dernier message: 02/12/2005, 15h58

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