3 votes

J'ai défini une classe et je l'ai instanciée, puis j'ai appelé les méthodes de cette classe, mais je n'obtiens aucun résultat.

est ici : Je suis en train d'appeler des méthodes qui n'affichent pas le résultat.

<?php
class user{
public  $name;
public  $age;
public function _ _construct($name, $age){
    $this->name=$name;
$this->age=$age;
}
public function sayHello(){
    echo("hiiiii".$this->name."!!!");
}
public function sayAge(){
    $a=time()-strtotime($this->age);
    echo  " hello Your age is".floor($a/(365*30*60*60));
}
}

$obj = new user('xyz','16 july 1980');
$obj->sayHello();
$obj->sayAge();

?>

1voto

exussum Points 6091

Votre méthode de construction est erronée

public function _ _construct($name, $age){
    $this->name=$name;
$this->age=$age;
}

supprimez l'espace et cela devrait fonctionner

supprime également la var de $obj

0voto

Shankar Damodaran Points 39934

Il suffit de retirer $var de $obj. Appelez-le comme juste $obj

<?php
class user{
public  $name;
public  $age;
public function __construct($name, $age){
    $this->name=$name;
$this->age=$age;
}
public function sayHello(){
    echo("hiiiii".$this->name."!!!");
}
public function sayAge(){
    $a=time()-strtotime($this->age);
    echo  " hello Your age is".floor($a/(365*30*60*60));
}
}

$obj = new user('xyz','16 july 1980');
$obj->sayHello();
$obj->sayAge();

?>

0voto

AgmLauncher Points 963

C'est parce que vous avez une erreur de syntaxe sur cette ligne, et il est probable que vous n'affichez pas de messages de débogage/d'erreur dans votre configuration PHP, de sorte qu'il semble que rien ne s'affiche :

var $obj = new user('xyz','16 july 1980');

"var" devant cette variable n'est pas une syntaxe PHP valide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X