|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Bonjour à tous,
Je me mets tout juste à la POO en PHP après avoir quelques petits projets en procédural... Je suis désolé, j'ai lu pas mal de choses sur la prog. objet et PDO mais je n'arrive pas bien à comprendre comment peut-on utiliser dans une classe... Voici une petite classe d'identification pour faire des petits essais : Code :
Code :
Merci pour votre aide. |
||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 587 ![]() |
il te manque un tiret là :
__________________
Développeur informatique contrarié... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
En effet, il manquait un tiret, mais j'ai toujours cette erreur :
Fatal error: Call to a member function query() on a non-object in C:\wamp\www\reseau-beaute-2\Includes\class_identification.php on line 43 |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Développeur Inscription : août 2010 Messages : 587 ![]() |
Effectivement dans ta classe il n'y aucune référence à l'objet $bdd, donc soit tu ajoutes un attribut à ta classe qui pointera vers l'objet $bdd soit tu le passes en paramètre aux méthodes qui en ont besoin (requête)
__________________
Développeur informatique contrarié... |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Comme le dis vorace , la variable $bdd n'est pas connue dans ta classe , tout simplement car chaque classe à un contexte d’exécution qui lui est propre.
La solution qui à mon sens est la plus correcte est de passer de ton objet pdo à ta classe. Soit via un constructeur soit via un setter : Code :
Autre remarque sur ton code , puisque tu sembles débuter en POO. Ta classe identification contient une méthode de vérification d'email. Pour moi c'est une erreur. Le rôle de ta classe d'identification c'est ... d'identifier. Vérifier la validité d'un email c'est une autre tache. Donc soit - Tu ne crée pas une méthode spécifique à cette tache et tu utilise simple un filtre php - Tu crées une classe statique spécifique aux controles sur les chaines de caractères que tu utiliseras dans ta classe Identification. le but final étant de ne pas avoir à réécrire une méthode de validation d'email dans 4 classe différentes. Arriver à correctement distinguer les fonctionnalités d'une classe est probablement une des notions les plus difficiles en objet. |
||
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Ok je comprends mieux ce qui ne vas pas...
Merci à vous... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com