|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |||||||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonjour
Je revient à la charge, toujours dans l'apprentissage du POO. décidémment.. Je reçoit cette erreur en essayant de regrouper 2 fonctions touchant mysql dans une classe. J'ai donc index.php, avec Code html :
functions.php dont les premières lignes sont: Code php :
Et j'obtiens l'erreur Citation:
Code php :
Pourtant, l'objet est bien déclarée au début de ce même fichier, à la suite de la classe, et la fonction membre execute() est bien public.. Désolé de vous embeter encore :/ Et si au passage, vous trouvez quelque chose à redire sur tout ça n'hésitez pas mon but est d'apprendre. Merci |
|||||||
|
|
00
|
|
|
#2 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
10
|
|
|
#3 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Ok J'ai donc contourné ce problème en rajoutant global $bdd; dans la fonction isHeAdmin. Mais est-ce vraiment la bonne solution?
|
|
|
00
|
|
|
#4 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 671 ![]() |
Il vaudrait mieux passer la connexion en paramètre à la fonction, ou mettre cette fonction comme méthode de ta classe bdd et utiliser l'objet courant comme connexion.
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
vire les @ et fait des exceptions
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#6 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() |
Bonsoir,
Pour la simple et bonne raison que l'arobase empêche le déclenchement des erreurs/avertissements. Bref ton code se déroule silencieusement mais il t'est impossible de savoir s'il y a eu des erreurs. Aucune utilité, puisque tu sera incapable de savoir si une routine a bien fait ce pour quoi elle a été prévue. Donc ne jamais utiliser l'arobase, sauf si tu as prévu un autre moyen te permettant d'attraper un déroulement erroné d'une routine. Un peu de lecture ici
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#8 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonsoir
J'ai deja lu le manuel php. Donc vous dites que les erreurs ne devraient pas s'afficher ? Parce que j'ai déjà essayé et si la fonction ne s'éxécute pas je reçoit correctement ce que contient le die. C'est pas normal ? |
|
|
00
|
|
|
#9 | |
|
Membre expérimenté
![]() |
Citation:
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
C'est bien ce qu'il me semblait! J'ai fait exprès de mettre ces @ avec die, parce que je ne veux pas que les utilisateurs voient l'erreur brute et précise, c'est pas pas propre pour eux je trouve.
|
|
|
00
|
|
|
#11 |
|
Membre expérimenté
![]() |
|
|
00
|
|
|
#12 | |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Citation:
Est-ce vous pouvez m'éclaircir sur cette idée ? Intégrer la fonction isHeAdmin dans l'objet bdd c'est ça ? |
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
|
|
|
00
|
|
|
#14 |
|
Membre expérimenté
![]() |
Non tu peut faire une exception qui va à la fois t'envoyer un mail avec le détail précis de l'erreur et afficher un message à l'utilisateur du style "Un problème est survenue, nos administrateurs ont été prévenus, désolé pour la gène, etc..."
|
|
10
|
|
|
#15 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Alors effectivement c'est encore mieux. Merci pour cette précision, je vais me faire quelques exceptions du coup ^^
|
|
|
00
|
|
|
#16 |
|
Membre expérimenté
![]() |
N'hésite pas à créer tes propres classes d'exceptions pour simplifier encore plus les choses
|
|
10
|
|
|
#17 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Une petite question au passage. Y a t il une différence entre SELF::.. et $this->.. ?
|
|
|
00
|
|
|
#18 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
Citation:
$this-> instance
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#19 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
D'accord!
Bon j'ai regardé pour les exceptions.C'est intéressant comme technique. mais finalement je suis perplexe.. Ca alourdit le code, et en réduit donc les performances, non? |
|
|
00
|
|
|
#20 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 219 ![]() |
Citation:
le but c'est pas de faire le moins de ligne possible et un code illisible, si tu veux des performances fait autre chose que du PHP, le but est plutot de faire quelque chose de maintenable, lisible et simple
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com