Se connecter / S'enregistrer
Votre question

Je ne vois pas mes erreurs

Tags :
  • Php
  • Erreur de syntaxe
  • Programmation
Dernière réponse : dans Programmation
31 Janvier 2012 13:33:51

Bonjour,

J'ai chercher mes erreurs. Mais, il y a toujours une erreur.

voici mon code:

  1. <?php
  2.  
  3. class Ninja
  4. {
  5. private $Force ;
  6.  
  7. public function __construct()
  8. {
  9. $this->Force = 10 ;
  10. }
  11.  
  12. public function _get($objet)
  13. {
  14. if($Force > 0)
  15. {
  16. return $this->$objet ;
  17. }
  18. }
  19.  
  20. public function _set($objet, $valeur)
  21. {
  22. if(ctype_digit($valeur))
  23. {
  24. $this->$objet = $valeur ;
  25. }
  26. else
  27. {
  28. $this->$objet = 'La valeur doit être un numéro' ;
  29. }
  30. }
  31. }
  32.  
  33. $Mario = new Ninja() ;
  34. $Mario->_set($Force, 20)
  35. $Mario->_get($Force) ;
  36. ?>


Mon erreur est:
( ! ) Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\peace.php on line 35

Autres pages sur : vois erreurs

a c 232 L Programmation
31 Janvier 2012 13:48:32

Salut,

Il me semble que tu as un gros soucis de construction de ta classe...

Ca devrait plutôt être quelque chose comme ça...

  1. <?php
  2.  
  3. class Ninja
  4. {
  5. private $Force;
  6.  
  7. public function __construct()
  8. {
  9. $this->Force = 10;
  10. }
  11.  
  12. public function _getForce()
  13. {
  14. return $this->Force;
  15. }
  16.  
  17. public function _setForce($valeur)
  18. {
  19. if (ctype_digit($valeur))
  20. {
  21. $this->Force = $valeur;
  22. }
  23. else
  24. {
  25. throw new Exception('La valeur doit être un numéro');
  26. }
  27. }
  28. }
  29.  
  30. $Mario = new Ninja();
  31. $Mario->_setForce(20);
  32. $Mario->_getForce();
  33. ?>
31 Janvier 2012 14:06:56

mais qu'est-ce que veux dire:

( ! ) Parse error: syntax error, unexpected T_VARIABLE
Contenus similaires
a c 232 L Programmation
31 Janvier 2012 15:56:48

Erreur lors du parsing : Erreur de syntaxe, une Variable n'était pas attendue à cet endroit
31 Janvier 2012 18:59:29

Je voudrais faire mon code, mais avec __get et __set. Les mutator et les accessor j'aime pas.
a c 232 L Programmation
31 Janvier 2012 21:19:31

Ca doit être un truc du genre :

  1. <?php
  2.  
  3. class Ninja
  4. {
  5. private $Force;
  6.  
  7. public function __construct()
  8. {
  9. $this->Force = 10;
  10. }
  11.  
  12. public function __get($object)
  13. {
  14. if ($object == 'Force')
  15. {
  16. return $this->Force;
  17. }
  18.  
  19. return null;
  20. }
  21.  
  22. public function __set($object, $valeur)
  23. {
  24. if ($object == 'Force')
  25. {
  26. if (ctype_digit($valeur))
  27. {
  28. $this->Force = $valeur;
  29. }
  30. else
  31. {
  32. throw new Exception('La valeur doit être un numéro');
  33. }
  34. }
  35. }
  36. }
  37.  
  38. $Mario = new Ninja();
  39. $Mario->Force = 20;
  40. echo $Mario->Force;
  41. ?>

3 Février 2012 01:16:06

il y a des erreurs dans ta classe. Bref:

Je veux créer ma première classe qui peut m'aider a la developper?

  1. <?php
  2.  
  3. class Ninja
  4. {
  5. private $Force ;
  6.  
  7. public function __construct()
  8. {
  9. $this->Force = 10 ;
  10. }
  11.  
  12. public function __get($object)
  13. {
  14. if ($object == 'Force')
  15. {
  16. return $this->Force;
  17. }
  18. else
  19. {
  20. return null;
  21. }
  22.  
  23. public function __set($val, $obj)
  24. {
  25. if($obj === 'Force')
  26. {
  27. if(ctype_digit($val))
  28. {
  29. $this->Force = $val ;
  30. }
  31. else
  32. {
  33. echo 'la valeur doit être un numéro' ;
  34. }
  35. }
  36. }
  37.  
  38. $Mario = new Ninja() ;
  39. $Mario->Force = 20 ;
  40.  
  41. echo $Mario->__get('Force') ;
  42. ?>



( ! ) Parse error: syntax error, unexpected T_PUBLIC in C:\wamp\www\pizza.php on line 23
a c 232 L Programmation
3 Février 2012 09:36:45

Il y a quelles erreurs ?
C'est toi qui a ajouté/modifié des choses et qui fait que ça plante maintenant...
3 Février 2012 21:12:18

Il y a la même erreur
3 Février 2012 21:15:22

  1. <?php
  2.  
  3. class Ninja
  4. {
  5. private $Force ;
  6.  
  7. public function __construct()
  8. {
  9. $this->Force = 10 ;
  10. }
  11.  
  12. public function __get($object)
  13. {
  14. if ($object == 'Force')
  15. {
  16. return $this->Force;
  17. }
  18. else
  19. {
  20. return null;
  21. }
  22. public function __set($object, $valeur)
  23. {
  24. if ($object == 'Force')
  25. {
  26. if (ctype_digit($valeur))
  27. {
  28. $this->Force = $valeur;
  29. }
  30. else
  31. {
  32. throw new Exception('La valeur doit être un numéro');
  33. }
  34. }
  35. }
  36. }
  37.  
  38. $Mario = new Ninja() ;
  39. $Mario->Force = 20 ;
  40.  
  41. echo $Mario->__get('Force') ;
  42. ?>
a c 232 L Programmation
3 Février 2012 21:29:57

Impossible qu'il y ait la même erreur dans MON code.
Mais tu as pris mon code, tu as ajouté un else { sans ajouter de }, tu as modifié d'autres choses, et après tu viens dire que ça marche pas...
3 Février 2012 23:52:06

J'ai essayer ton code mais, le __set ne fonctionne pas.
Sa m'affiche: 10
a c 232 L Programmation
4 Février 2012 00:16:08

Je sais pas comment ça fait pour t'afficher 10 alors qu'il y a une exception qui est levée ?
ctype_digit sert à vérifier qu'une string ne contienne que des entiers, et n'a donc pas sa place ici, vu qu'on a directement un entier, du coup ça retourne toujours false.

  1. public function __set($object, $valeur)
  2. {
  3. if ($object == 'Force')
  4. {
  5. $this->Force = $valeur;
  6. }
  7. }
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS