par
Nestecha » 11 sept. 2014, 15:44
merci beaucoup mais je pence que sur le site ou je boss il doit y avoir quelques soucis vu que j'entre le code que tu ma dit de faire
c'est a dire :
class Cat () {
public $isAlive = true;
public $numLegs = 4;
}
public function __construct($name) {
$this->$name = $name;
}
public function meow() {
echo "Meow meow";
}
$CodeCat = new Cat('CodeCat');
$CodeCat->meow();
et un message d'erreur apparait en me disant :
"Oups, merci de réessayer. Votre méthode 'meow()' ne retourne rien."
Normal !
Déjà, " public function __construct($name) {
$this->$name = $name;
}" c'est faux,
C'est " public function __construct($name) {
$this->name = $name;
}
Ensuite, ta fonction meow c'est :
public function meow() {
echo "Meow meow";
}
Comme je viens de le dire, il faut la faire retourner une valeur, puis l'afficher ensuite. Donc :
public function meow() {
return "Meow meow";
}
Et ensuite écrire :
echo $CodeCat->meow();
Par contre il ne faut pas faire ça dans le même fichier que ta classe d'une part, et d'autre part tu dois créer une instance, un objet, de cette classe pour pouvoir l'utiliser.
C'est un peu comme si ta classe c'était le moule d'un gâteau, t'es bien obligé de faire un gâteau grâce à ce moule, de le "créer" pour pouvoir l'utiliser (en imaginant que ton gâteau ai la fonction "être mangé"

).
Donc il faut inclure ce fichier classe dans un autre fichier (index.php par exemple), et ensuite faire :
$CodeCat = new Cat('CodeCat') << 'CodeCat' ça va passer directement dans la fonction __construct et on a dit que le nom serait ce qu'on a mis en paramètre.
Et maintenant tu peux utiliser la fonction meow();, mais vu qu'elle retourne une valeur, tu dois afficher cette valeur.
Donc $CodeCat->meow(); n'affichera rien et sera simplement égal à "Meow meow", pour l'afficher faut faire echo $CodeCat->meow();

[quote="masska93300"]merci beaucoup mais je pence que sur le site ou je boss il doit y avoir quelques soucis vu que j'entre le code que tu ma dit de faire
c'est a dire :
class Cat () {
public $isAlive = true;
public $numLegs = 4;
}
public function __construct($name) {
$this->$name = $name;
}
public function meow() {
echo "Meow meow";
}
$CodeCat = new Cat('CodeCat');
$CodeCat->meow();
et un message d'erreur apparait en me disant :
"Oups, merci de réessayer. Votre méthode 'meow()' ne retourne rien."[/quote]
Normal !
Déjà, " public function __construct($name) {
$this->$name = $name;
}" c'est faux,
C'est " public function __construct($name) {
$this->name = $name;
}
Ensuite, ta fonction meow c'est :
public function meow() {
echo "Meow meow";
}
Comme je viens de le dire, il faut la faire retourner une valeur, puis l'afficher ensuite. Donc :
public function meow() {
return "Meow meow";
}
Et ensuite écrire :
echo $CodeCat->meow();
Par contre il ne faut pas faire ça dans le même fichier que ta classe d'une part, et d'autre part tu dois créer une instance, un objet, de cette classe pour pouvoir l'utiliser.
C'est un peu comme si ta classe c'était le moule d'un gâteau, t'es bien obligé de faire un gâteau grâce à ce moule, de le "créer" pour pouvoir l'utiliser (en imaginant que ton gâteau ai la fonction "être mangé" ;)).
Donc il faut inclure ce fichier classe dans un autre fichier (index.php par exemple), et ensuite faire :
$CodeCat = new Cat('CodeCat') << 'CodeCat' ça va passer directement dans la fonction __construct et on a dit que le nom serait ce qu'on a mis en paramètre.
Et maintenant tu peux utiliser la fonction meow();, mais vu qu'elle retourne une valeur, tu dois afficher cette valeur.
Donc $CodeCat->meow(); n'affichera rien et sera simplement égal à "Meow meow", pour l'afficher faut faire echo $CodeCat->meow(); :)