Parse error: syntax error

Eléphant du PHP | 226 Messages

31 janv. 2012, 20:32

<?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

J'ai faite plus topic parce que personne voulait m'aider ;(. Je voudrais que le monde reste actif sur ce topic afin de ne pas me forcer de créer des milliards de topics.
Djun, L'inoubliable et l'incontournable

ViPHP
xTG
ViPHP | 7331 Messages

31 janv. 2012, 20:49

Tu as la réponse sur ce topic : post378082.html#p378082
Lire mon message et le comprendre...
Le code que j'ai posté en exemple est pleinement fonctionnel.

Eléphant du PHP | 226 Messages

31 janv. 2012, 20:53

Je veux juste savoir c'est quoi mon erreur. Je veux pas lire un language asiatique antique
Djun, L'inoubliable et l'incontournable

ViPHP
ViPHP | 2287 Messages

31 janv. 2012, 22:20

Je veux juste savoir c'est quoi mon erreur. Je veux pas lire un language asiatique antique
En très résumé et comme ça t'a déjà été dit ailleurs :
<?php // Ça, c'est bien :
echo $this->variable; ?>
<?php // Ça, c'est MAL (possible mais à oublier si tu ne maîtrises pas) :
echo $this->$variable; ?>
Il y a aussi d'autres erreurs dans ton code.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 226 Messages

31 janv. 2012, 22:30

Je veux juste savoir c'est quoi mon erreur. Je veux pas lire un language asiatique antique
En très résumé et comme ça t'a déjà été dit ailleurs :
<?php // Ça, c'est bien :
echo $this->variable; ?>
<?php // Ça, c'est MAL (possible mais à oublier si tu ne maîtrises pas) :
echo $this->$variable; ?>
Il y a aussi d'autres erreurs dans ton code.
Dite moi mes autres erreurs
Djun, L'inoubliable et l'incontournable

ViPHP
ViPHP | 2287 Messages

31 janv. 2012, 22:34

Dite moi mes autres erreurs
On a déjà essayé mais tu n'as pas compris :) Et il va falloir parler le mandarin ancien, et lire le manuel.

Allons-y par étapes, corrige déjà celles-ci et vois ensuite ce que php te dit (c'est à lui en premier de te signaler les erreurs mais il ne dit pas toujours tout d'un seul coup).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 226 Messages

31 janv. 2012, 23:02

Dite moi mes autres erreurs
On a déjà essayé mais tu n'as pas compris :) Et il va falloir parler le mandarin ancien, et lire le manuel.

Allons-y par étapes, corrige déjà celles-ci et vois ensuite ce que php te dit (c'est à lui en premier de te signaler les erreurs mais il ne dit pas toujours tout d'un seul coup).
J'ai trouver mes erreurs mais il en reste une autre.
<?php

class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($objet)
{
if(!empty($this->$Force))
{
return $this->$objet ;
}
 
public function __set($attr, $valeur)
{
if(ctype_digit($valeur))
{
$this->$attr = $valeur ;
}
}
}
 
$Mario = new Ninja() ;
$Mario->__set($Mario, 20) ;


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

echo sprintf($Format, $num)
?>

( ! ) Parse error: syntax error, unexpected T_PUBLIC in C:\wamp\www\peace.php on line 19
Djun, L'inoubliable et l'incontournable

ViPHP
ViPHP | 4039 Messages

31 janv. 2012, 23:33

Erreur ligne 14: $this->$Force
Erreur ligne 16: $this->$objet
Erreur ligne 19: la fonction __get() n'a pas son accolade fermante
Erreur ligne 23: $this->$attr
Erreur ligne 29: $Mario->__set();
Erreur ligne 33: $Mario->__get();
Erreur ligne 34: ;

Raisons et explications:
php-debutant/vois-pas-erreur-t262405.html#p378084
php-debutant/tellement-chercher-mon-err ... ml#p378280

Conseil, ceci marche mieux, est plus utile pour se former au Php en douceur, et est moins sujet aux erreurs:
<?php echo 'Mario à une force de 20' ?>;
Du reste: RTFM !! (ie: la documentation existe, prends-toi la peine de la lire)

Et je parlais bien de veau :mrgreen:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 226 Messages

01 févr. 2012, 02:06

<?php

class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($objet)
{
$forca = $this->Force ;
if($forca > 0)
{
return $this->$objet ;
}
}
 
public function __set($attr, $valeur)
{
if(ctype_digit($valeur))
{
$this->$attr = $valeur ;
}
}
}
 
$Mario = new Ninja() ;
$Mario->__set(Force, 20) ;


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

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

( ! ) Notice: Use of undefined constant Force - assumed 'Force' in C:\wamp\www\peace.php on line 31

( ! ) Notice: Use of undefined constant Force - assumed 'Force' in C:\wamp\www\peace.php on line 35
Djun, L'inoubliable et l'incontournable

ViPHP
xTG
ViPHP | 7331 Messages

01 févr. 2012, 09:22

Faudra quand même m'expliquer...
Tu veux développer un site internet sans rien comprendre et connaître...
J'ai bien envie de dire... Bah engages un développeur pour le faire à ta place si t'as les sous...

Eléphant du PHP | 209 Messages

01 févr. 2012, 10:33

L'appel des méthodes __get et __set n'est pas bonne.
Pour appeler la méthode __get('Force') , il faut faire : $Mario->Force;
Pour appeler la méthode __set('Force', 20) , il faut faire : $Mario->Force = 20;

ViPHP
ViPHP | 4039 Messages

01 févr. 2012, 11:14

J'ai quand même quelques petites questions, ceci dans le but de mieux répondre, d'adapter les réponses, et de contextualiser les réponses données:

DJUN:
1) Qu'est-ce qui te pousse /t'intéresse dans le développement web ?
2) Quelle expérience / connaissance as-tu dans le domaine ?
3) Sur quoi te bases-tu pour apprendre le développement web ?
4) Quel âge as-tu ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 275 Messages

01 févr. 2012, 11:19

Je vous admire vraiment.
Ce mec quadruple post, ne comprend pas ce qu'il fait, n'essayes même pas de comprendre les réponses qu'on lui donne, limite il exige de l'aide (pour ne pas dire "faites le travail à ma place"), et vous continuez à l'aider, sans vous énerver, en répétant les même choses, en reformulant, etc...

Eléphant du PHP | 226 Messages

01 févr. 2012, 22:15

Puisque c'est comme ça, je vais me suicider.
Djun, L'inoubliable et l'incontournable

Eléphant du PHP | 226 Messages

01 févr. 2012, 22:54

<?php

class Ninja
{
private $Force ;
 
public function __construct()
{ 
$this->Force = 10 ;
}
 
public function __get($objet)
{
$forca = $this->Force ;
if($forca > 0)
{
return $this->$objet ;
}
}
 
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->Force = 20 ;

$Mario->__get('Force') ;
?>

( ! ) Parse error: syntax error, unexpected $end in C:\wamp\www\pizza.php on line 39
Djun, L'inoubliable et l'incontournable