Page 1 sur 1
Ma premiere classe
Posté : 03 févr. 2012, 22:21
par djun
Je vais tenter de prendre une dernière chance. Mais, il y a une erreur que je comprends pas.:
<?php
class Ninja
{
private $Force ;
public function __construct()
{
$this->Force = 10 ;
}
public function __get($object)
{
if ($object == 'Force')
{
return $this->Force;
}
else
{
return null;
}
public function __set($object, $valeur)
{
if ($object == 'Force')
{
if (ctype_digit($valeur))
{
$this->Force = $valeur;
}
else
{
throw new Exception('La valeur doit être un numéro');
}
}
}
}
$Mario = new Ninja() ;
$Mario->F[/php]orce = 20 ;
echo $Mario->__get('Force') ;
?>
( ! ) Parse error: syntax error, unexpected T_PUBLIC in C:\wamp\www\pizza.php on line 22
Re: Ma premiere classe
Posté : 03 févr. 2012, 23:10
par sirakawa
j'ai sans doute fumé ma carpette au lieu de la sucer (oui je suis ,un suceur de carpette, à la descente de lit).
J'ajouterai que certains indiquent dans leur code la ligne corrrespondant au numéro affiché par PHP, ce qui simplifie les choses.
Re: Ma premiere classe
Posté : 03 févr. 2012, 23:23
par djun
Modifier
Re: Ma premiere classe
Posté : 04 févr. 2012, 00:45
par moogli
http://www.netbeans.org tu dl et installé le soft ça t'indiquera beaucoup d'erreur de syntaxe comme l'accolade qui te manque avant le mot clef public sur la ligne en rouge.
Une parse error c'est généralement une erreur de syntaxe avant la ligne incriminée.
Je te conseil aussi d'indenter ton code tu verrai ce genre d'erreur rapidement.
Emploi des convention de codage afin d'éviter ça, par exemple celle utilisée par java (java style ou un truc du genre que ça s'appel).
@+
Re: Ma premiere classe
Posté : 04 févr. 2012, 00:53
par djun
Je ne peux pas telecharger des choses.
Re: Ma premiere classe
Posté : 04 févr. 2012, 00:55
par djun
Mon _set marche pas:
Code : Tout sélectionner
<?php
class Ninja
{
private $Force;
public function __construct()
{
$this->Force = 10;
}
public function __get($object)
{
if ($object == 'Force')
{
return $this->Force;
}
return null;
}
public function __set($object, $valeur)
{
if ($object == 'Force')
{
if (ctype_digit($valeur))
{
$this->Force = $valeur;
}
}
}
}
$Mario = new Ninja();
$Mario->Force = 20 ;
echo $Mario->Force ;
?>
Sa n'affiche que la force de mario est 10.
Re: Ma premiere classe
Posté : 04 févr. 2012, 09:26
par xTG
La réponse dans la doc PHP :
<?php
$numeric_string = '42';
$integer = 42;
ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 is the * character)
is_numeric($numeric_string); // true
is_numeric($integer); // true
?>
Cette fonction attend une chaîne de caractère, quand tu lui passes un entier elle prend la correspondance en caractère.
Or le caractère dont la valeur ASCII est 20 n'est pas un entier.
Re: Ma premiere classe
Posté : 04 févr. 2012, 14:16
par djun
SA MARCHE, I LOVE YOU QUE DIEU TE BENISSE.