|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : mars 2004 Messages : 97 ![]() |
Bonjour à tous,
Un petit exemple ? Code php :
L'explication : j'ai fait une erreur de frappe en tapant Code php :
$this->carottesPreferees = $_carottePreferee; Code php :
$this->carottePreferee = $_carottePreferee; C'est peut être un comportement normal de php, mais j'aimerais personellement qu'il m'alerte lorsque je déclare une variable qui n'a pas été déclaré au préalable. Est-ce possible ? |
||
|
|
00
|
|
|
#2 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Bonjour
Actuellement, tu n'affiches pas toutes les erreurs. E_ALL &~E_NOTICE signifie toutes les erreurs sauf les notices. Or il me semble que ce que tu essayes d'obtenir est jsutement une notice Essaye de mettre error_reporting à E_ALL simplement.
__________________
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
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mars 2004 Messages : 97 ![]() |
Au temps pour moi :
J'ai pris la mauvaise ligne... Le comportement est le même avec En debut de code... |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() |
tu veux dire que si l'attribut n'existe pas, il n'y a pas de warning à l'appel?
C'est un langage à typage faible, ce comportement est donc normal. C'est pour ça que dans easyEclipse il surligne les variable similaire, effectivement c'est un problème et la question reste entière ?
__________________
contribution sur phpclasses d'une classe de connection à une base de donnée en php5 http://www.phpclasses.org/browse/file/23687.html |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
tu peux ôter "aucune" dans la déclaration de l'attribut, comme ça tu auras au moins une erreur E_NOTICE au moment de la lecture dans la méthode "quelleEstTaCarottPreferee"
__________________
Modérateur PHP |
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Inscription : mars 2004 Messages : 97 ![]() |
Citation:
Je prends mon camarade développeur qui a codé une classe entière en déclarant ses variable à la volée dans le constructeur. Elles deviennent introuvable avec phpeclipse, elles sont forcément en public, etc... Bref pas d'erreur mais c'est particulièrement désagréable je trouve. Citation:
Sinon je ne vois pas vraiment ce que le typage a à voir là dedans, sauf si "typage faible" implique le fait de "déclaration silencieuse". (Je parle en des termes créés par moi-même : traducteurs-traduisez Je peux toujours me faire une recherche sur tous les $this-> me dirais-vous. Oui sans doute, mais ne le dites pas J'ENTENDS RIEN DE TOUTE FACON LALALA !!
|
||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() |
tipage fort == en cas d'erreur sors une exception en java, j2ee...
ce qui a le mérite de prévenir (dans la douleur). en php il ne dit rien effectivement...
__________________
contribution sur phpclasses d'une classe de connection à une base de donnée en php5 http://www.phpclasses.org/browse/file/23687.html |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Salut,
Comme j'ai la même récalcitrance que toi sur les déclarations dynamiques, je fait ceci dans mon code : Code :
Je m'en sert peu souvent en PHP parceque je trouve les getters/setters un peu bizarre dans le comportement. Mais mon bref si je ne me trompes pas, lors de l'appel d'un membre, PHP regarde les membres public, puis les getters/setters, puis créé le membre si il ne le trouve rien. Par rapport à mon code, il n'atteindra jamais la derniere possibilité car on lance une exception. bye |
||
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mars 2004 Messages : 97 ![]() |
@keymak:
Merci pour ta solution, j'ai effectivement pensé à utliser __get et __set pour faire cela, mais j'espérais secrètement que PHP pouvait le faire sans moi. Moralité, on est jamais mieux servi que par soi-même |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com