PHP - Objet, Classes, constructeurs
Posté : 01 oct. 2019, 16:47
Hello !
J'ai une petite question, en espérant qu'une âme charitable pourra y répondre !
Voici mon code, à la fin de celui-ci, j'essaie de faire un echo du nom de mon bateau 1 mais il me met un message digne d'un film extraterrestre !
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Bateau::setNom(), 0 passed in C:\xampp1\htdocs\test\capitaine.php on line 37 and exactly 1 expected in C:\xampp1\htdocs\test\capitaine.php:21 Stack trace: #0 C:\xampp1\htdocs\test\capitaine.php(37): Bateau->setNom() #1 {main} thrown in C:\xampp1\htdocs\test\capitaine.php on line 21
Il me semble qu'il est possible de faire appel aux caractéristiques de mon bateau, en dehors de ma classe bateau, grace aux fonctions (publiques)..
J'ai une petite question, en espérant qu'une âme charitable pourra y répondre !
Code : Tout sélectionner
<?PHP
class Bateau
{
private $_idBat;
private $_nomBat;
private $_longueurBat;
private $_largeurBat;
public function __construct($unId, $unNom, $uneLongueur, $uneLargeur) //Constructeur
{
$this->setId($unId); //Initialisation de l'Id
$this->setNom($unNom); //Initialisation du nom
$this->setLongueur($uneLongueur); //Initialisation de la Longueur
$this->setLargeur($uneLargeur); //Initialisation de la Largeur
}
public function setId($unId) //Mutateur qui modifie l'attribut _idBat
{
$this->_idBat=$unId;
}
public function setNom($unNom) //Mutateur qui modifie l'attribut _nomBat
{
$this->_nomBat=$unNom;
}
public function setLongueur($uneLongueur) //Mutateur qui modifie l'attribut _longueurBat
{
$this->_longueurBat=$uneLongueur;
}
public function setLargeur($uneLargeur) //Mutateur qui modifie l'attribut _largeurBat
{
$this->_largeurBat=$uneLargeur;
}
} // fin de la Classe Bateau
$bateau1 = new Bateau(2,'Batoi',150,47);
echo $bateau1->setNom();
?>Fatal error: Uncaught ArgumentCountError: Too few arguments to function Bateau::setNom(), 0 passed in C:\xampp1\htdocs\test\capitaine.php on line 37 and exactly 1 expected in C:\xampp1\htdocs\test\capitaine.php:21 Stack trace: #0 C:\xampp1\htdocs\test\capitaine.php(37): Bateau->setNom() #1 {main} thrown in C:\xampp1\htdocs\test\capitaine.php on line 21
Il me semble qu'il est possible de faire appel aux caractéristiques de mon bateau, en dehors de ma classe bateau, grace aux fonctions (publiques)..