Je ne trouve pas d'erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Je ne trouve pas d'erreur

Re: Je ne trouve pas d'erreur

par djun » 31 janv. 2012, 19:43

Il y a des milliards d'erreur:
<?php
 
class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($objet)
{
if($this->$Force > 0)
{
return $this->$objet ;
}
}
 
public function __set($attr, $valeur)
{
if(ctype_digit($valeur))
{
$this->$attr = $valeur ;
}
}
 
$Mario = new Ninja() ;
__set($Mario, $Force, 20) ;


$Format = 'Mario a une force de %u' ;
$num = $Mario->__get($Force) ;

echo sprint($Format, $num) ;
?>

( ! ) Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in C:\wamp\www\peace.php on line 28

Re: Je ne trouve pas d'erreur

par xTG » 31 janv. 2012, 19:34

Les méthodes magiques ne peuvent être redéfinies.
De plus tu la redéfinies pour rien, car $attr c'est le rôle de $objet en fait...

Re: Je ne trouve pas d'erreur

par djun » 31 janv. 2012, 19:21

Je l'ai regler:
<?php
 
class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($objet)
{
if($this->$Force > 0)
{
return $this->$objet ;
}
}
 
public function __set($objet, $attr, $valeur)
{
if(ctype_digit($valeur))
{
$objet->$attr = $valeur ;
}
}
 
$Mario = new Ninja() ;
__set($Mario, $Force, 20) ;


$Format = 'Mario a une force de %u' ;
$num = $Mario->__get($Force) ;

echo sprint($Format, $num) ;
?>
mais sa a detecter une autre erreur:


( ! ) Fatal error: Method Ninja::__set() must take exactly 2 arguments in C:\wamp\www\peace.php on line 26

Re: Je ne trouve pas d'erreur

par djun » 31 janv. 2012, 19:12

Il manque un point virgule ligne 30...
Tu vas avoir d'autres erreurs notamment ligne 14 pour ton $Force qui traîne sans être instancié..
Merci pour l'aide.

Re: Je ne trouve pas d'erreur

par Shenryu » 31 janv. 2012, 16:16

Il manque un point virgule ligne 30...
Tu vas avoir d'autres erreurs notamment ligne 14 pour ton $Force qui traîne sans être instancié..

Je ne trouve pas d'erreur

par djun » 31 janv. 2012, 16:00

Mon code est:
<?php
 
class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function _get($objet)
{
if($Force > 0)
{
return $this->$objet ;
}
}
 
public function _set($objet, $valeur)
{
if(ctype_digit($valeur))
{
$this->$objet = $valeur ;
}
}
}
 
$Mario = new Ninja() ;
$Mario->_set($Force, 20)

$format = 'Mario a une force de %u decanewton' ;
$num = _get($Force) ;

echo sprintf($format, $num) ;
?>
mon erreur est:

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