Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1492 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP5 et la POO : n'affiche rien et renvoie du vide !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP5 et la POO : n'affiche rien et renvoie du vide !

n°1320327
josserand_​joss
Posté le 07-03-2006 à 16:56:35  profilanswer
 

(Re)Bonjour !
 
Je débute en POO avec PHP. Et je souhaite (tout simplement) afficher à l'aide de ma méthode publique.
Problème : il m'affiche rien... en tout cas, la variable est renvoyée comme vide.
 
Voici ma classe :
 

Code :
  1. <?php
  2. class Devis
  3. {
  4. private $num;
  5. //constructeur
  6. public function __contruct($numDevis)
  7. {
  8.  echo "<!--TEST CONSTRUCT : " . $numDevis . "-->"; // n'affiche rien !
  9.  $this->$num = $numDevis;
  10. }
  11. //test
  12. public function getNum()
  13. {
  14.  echo "<!--TEST : " . $this->num . "-->"; // affiche <!--TEST : -->
  15.  return $this->num;
  16. }
  17. }
  18. ?>


 
Et j'appelle dans mon fichier PHP :
 

Code :
  1. $leDevis = new Devis("test" );
  2. $prov =& $leDevis->getNum();
  3. // ou
  4. //$prov = $leDevis->getNum();


 
Y a-t-il une erreur de syntaxe ?? Dois-je reposer mon cerveau ?
Merci d'avance !

mood
Publicité
Posté le 07-03-2006 à 16:56:35  profilanswer
 

n°1320342
esox_ch
Posté le 07-03-2006 à 17:05:47  profilanswer
 

Dans ton constructeur, c'est $this->num = $numDevis, il y a pas de $ devant num


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1320345
esox_ch
Posté le 07-03-2006 à 17:08:36  profilanswer
 

Je crois qu'il est au courrant .. A voir le :
 // affiche <!--TEST : -->


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1320356
cinocks
Posté le 07-03-2006 à 17:17:46  profilanswer
 

ca n'existe pas $this->$num
 
c'est $this->num.


---------------
MZP est de retour
n°1320360
josserand_​joss
Posté le 07-03-2006 à 17:18:48  profilanswer
 

Oui, déjà, j'ai fait une erreur sur le $num.
 
Mais, ça ne change rien... il ne m'affiche toujours pas ma balise "<!--TEST CONSTRUCT : " . $numDevis . "-->", comme si ça venait du paramètre qu'il ne veut pas passer au constructeur... et même comme s'il ne passait pas du tout par le constructeur.
 
Comprends pas.

n°1320365
afbilou
pouet your life
Posté le 07-03-2006 à 17:22:15  profilanswer
 

__construct

n°1320369
cinocks
Posté le 07-03-2006 à 17:23:51  profilanswer
 

aussi :D


---------------
MZP est de retour
n°1320376
omega2
Posté le 07-03-2006 à 17:29:03  profilanswer
 

"__contruct" <> "__construct" (manque le "s" )
 
 
"$this->$num" <> "$this->num" ca ca a déjà été dit et corrigé
 
"$prov =& $leDevis->getNum();"
Il n'y a que des variables qu'on peut passer par "adresse". (deux variables ayant le même pointeur) Une valeur qui n'est pas contenu dans une variable ne peut être passé que par "valeur".
Dans le cas présent, seule une affectation par "valeur" est possible.
 
Voilà les trois erreurs de ton script initial.
 
 
Ouin, on m'a grilled.


Message édité par omega2 le 07-03-2006 à 17:31:28
n°1320377
josserand_​joss
Posté le 07-03-2006 à 17:29:03  profilanswer
 

:cry: ok j'avoue, j'ai honte... je vais aller dormir un peu.
 
Evidemment, ça marche ! Comment perdre bêtement du temps !! lol
 
Merci, et encore désolé... :wahoo:

n°1320385
josserand_​joss
Posté le 07-03-2006 à 17:34:31  profilanswer
 

(pour la 3ème erreur, omega2, c'était juste une étape intermédiaire juste pour tester et essayer de trouver une erreur -conStruct-... cette ligne n'a en effet pas lieux d'être. Merci !)

mood
Publicité
Posté le 07-03-2006 à 17:34:31  profilanswer
 

n°1320391
esox_ch
Posté le 07-03-2006 à 17:41:55  profilanswer
 

cinocks a écrit :

ca n'existe pas $this->$num
 
c'est $this->num.


 
$this->$num existe mais ne marche pas dans son cas ...
D'ailleur s'il faisait :
$num = 'num';
$this->$num  
ça marcherait tres bien (meme si c'est pas tres malin)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1320401
omega2
Posté le 07-03-2006 à 17:51:31  profilanswer
 

esox_ch > Plus précisément, il faudrait dire que la syntaxe "$this->$num" est possible si on a déjà initalisé $num. Enfin, ca me semble plus clair dit comme ça.

n°1320406
esox_ch
Posté le 07-03-2006 à 17:56:04  profilanswer
 

Bein qu'est-ce que j'ai fais dans mon script ? [:pingouino]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1320410
omega2
Posté le 07-03-2006 à 17:58:43  profilanswer
 

esox_ch > C'était le texte autour de ton exemple que j'ai trouvé dur à comprendre. :p Pas l'exemple en lui même.

n°1320416
cinocks
Posté le 07-03-2006 à 18:05:09  profilanswer
 

omega2 a écrit :

esox_ch > Plus précisément, il faudrait dire que la syntaxe "$this->$num" est possible si on a déjà initalisé $num. Enfin, ca me semble plus clair dit comme ça.


 
vu comme ça oui, mais l'interet :??:


---------------
MZP est de retour
n°1320454
esox_ch
Posté le 07-03-2006 à 18:54:55  profilanswer
 

cinocks a écrit :

vu comme ça oui, mais l'interet :??:


 
Le meme que d'avoir la possiblité de faire des $$mavar  
 
=> Rendre le code totalement illisible par quiquonque , en incluant la personne qui l'a programmé


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1320458
omega2
Posté le 07-03-2006 à 19:02:05  profilanswer
 

esox_ch a écrit :

Le meme que d'avoir la possiblité de faire des $$mavar  
 
=> Rendre le code totalement illisible par quiquonque , en incluant la personne qui l'a programmé


J'avais plustôt pensé aux ${var.$mavar} mais le "$this->$num" est exactement l'équivalent de ce que t'as indiqué.


Message édité par omega2 le 07-03-2006 à 19:02:32
n°1320690
esox_ch
Posté le 08-03-2006 à 08:15:06  profilanswer
 

A oui c'est pas mal le truc des {} ... Je l'ai jamais utilisé dans mes scripts (alors que j'ai deja utilisé 1 ou 2 fois le coup du $$ ) ... Ce genre de truc c'est tellement casse-gueule qu'il faudrait bruler tout auteur de livre php qui en parle, si ce n'est pas le descendre en fleche


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP5 et la POO : n'affiche rien et renvoie du vide !

 

Sujets relatifs
méthode de gestion d'une BD en POO (PHP5)test cellule vide
Fonction Cells.find mais quand il ne trouve rien?[PHP5] fonction qui liste les paramètres d'une méthode de classe
Ca doit etre evident, mais j'y connais rien !!html ? comprends rien ?!
adaptation PHP5 vers .Net2 questions POO PHP5
Plus de sujets relatifs à : PHP5 et la POO : n'affiche rien et renvoie du vide !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR