J'étudie PHP et l'une des tâches était de créer une certaine classe. J'ai beaucoup essayé, mais il y a toujours une erreur.
TÂCHE:
Créez la classe
User
, qui aura des propriétés privées$name
et$age
et une propriété publique$site
, dont les valeurs doivent être définies dans un constructeur de classe, méthodegetFullInfo()
, qui retournera (pas imprimer!)$this->name at the age of $this->age is a user of $this->site
. Le constructeur doit vérifier l'âge de l'entrée, et s'il est supérieur à130
ou inférieur à0
, définissez la valeur$age
commeunset
(juste comme une chaîne). Une fois la création de l'instance réussie, le constructeur doit imprimerUser was successfully created!
.
J'utilise PHP 5.
Le site sur lequel j'étudie n'applique pas ma version de la solution. J'espère que tu m'aideras ^^
<?php
class User{
private $name;
private $age;
public $site;
function __construct($q,$w,$e){
echo "User was successfully created!";
$this->name=$q;
$this->site=$e;
if($w>130 || $w<0){
unset($w);
};
$this->age=$w;
}
public function getFullInfo(){
return "$this->name at the age of $this->age is a user of $this->site";
}
}
?>
4 réponses
La tâche indique que si l'âge est hors limites, vous devez le définir sur la chaîne unset
. Appeler unset($w)
ne fait pas ça. Changez cela en:
$w = "unset";
Tu es proche. Nommez vos variables, arguments et paramètres de manière significative.
s'il est supérieur à 130 ou inférieur à 0, définissez la valeur $ age comme non définie (juste comme une chaîne)
Signifie probablement $this->age = 'unset';
<?php
class User
{
private $name;
private $age;
public $site;
function __construct($name, $site, $age)
{
echo "User was successfully created!";
$this->name = $name;
$this->site = $site;
if ($age > 130 || $age < 0) {
$this->age = 'unset';
} else {
$this->age = $age;
}
}
public function getFullInfo()
{
return "$this->name at the age of $this->age is a user of $this->site";
}
}
$user = new User('Tony McTony', 'Tree House', 35);
echo $user->getFullInfo();
// Output: User was successfully created!Tony McTony at the age of 35 is a user of Tree House
Je le pense ici:
return "$this->name at the age of $this->age is a user of $this->site";
// it should be : (i think)
return $this->name . "at the age of " . $this->age . " is a user of " . $this->site;
J'espère que cela aide
Votre problème est probablement la désactivation de la variable $w
. Quand ils disent unset la variable, vous devriez le faire au $this->age
plutôt qu'au $w
.
<?php
$this->age = $w;
if($w > 130 || $w < 0){
$this->age = 'unset';
};
?>
Si cela ne résout pas votre problème, une explication plus descriptive du problème serait utile.
Questions connexes
De nouvelles questions
php
PHP est un langage de script largement utilisé, de haut niveau, dynamique, orienté objet et interprété, principalement conçu pour le développement Web côté serveur. Utilisé pour les questions sur le langage PHP.