Page 1 sur 1
Fonction appelle Fonction
Posté : 02 oct. 2019, 15:25
par PHaPio
Bonjour,
Est-il possible d'utiliser une fonction qui permet d'appeller d'autres fonctions et d'afficher le résultat de plusieurs d'entre elles?
Code : Tout sélectionner
public function versChaine()
{
echo 'Nom:' , $this->getNom(),
' ID : ', $this->getId(),
'Nuit : ', $this->getNuit(),
'Jour : ', $this->getJour();
}
L'idée est là, mais pas le résultat
Devrais-je déclarer ma fonction Chaine avant ? ou lui créer une variable rien que pour elle ??
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 15:41
par or 1
c'est possible.
que se passe-t-il exactement lors de l'appel de cette fonction ? vu que le code me parait correct.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 15:44
par PHaPio
Fatal error: Uncaught Error: Call to undefined function versChaine()
Il n'a pas l'air de connaitre la fonction
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:01
par or 1
il nous manque le code l'appel de cette fonction.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:10
par PHaPio
Ah, il me le manque aussi je pense ..
( Je fais quelques tests/ découvertes, je suis totallement newbie )
J'ai fais un
A la fin de mon code pour appeller la fonction
Code : Tout sélectionner
public function versChaine()
{
echo 'Nom:' , $this->getNom(),
' ID : ', $this->getId(),
'Nuit : ', $this->getNuit(),
'Jour : ', $this->getJour();
}
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:16
par or 1
il faudrait le code complet.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:24
par PHaPio
Code : Tout sélectionner
<?PHP
class Bateau
{
private $_idBat;
private $_nomBat;
private $_longueurBat; // Debut de la class bateau + variables en private
private $_largeurBat;
public function __construct($unId, $unNom, $uneLongueur, $uneLargeur) //Constructeur // Le constructeur qui va permettre de créer des instances de classe
{
$this->setId($unId); //Initialisation de l'Id //Le nouveau bateau(this) va affecter la valeur ID à la propriété
$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 //Fonction setId parametre unId
{
$this->_idBat = $unId; // La variable de départ prends la valeur de celle du constructeur
}
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;
}
public function setVersChaine()
{
}
public function getId() //fonction getID récupère la variable et définit la nouvelle valeur pour le bateau crée
{
return $this->_idBat;
}
public function getNom()
{
return $this->_nomBat;
}
public function getLongueur()
{
return $this->_longueurBat;
}
public function getLargeur()
{
return $this->_largeurBat;
}
public function versChaine()
{
echo 'Nom du bateau :' , $this->getNom(),
' ID : ', $this->getId(),
'Longueur : ', $this->getLongueur(),
'Largeur : ', $this->getLargeur();
}
} // fin de la Classe Bateau
$bateau1 = new Bateau(2,'Batoto',150,47); // je créer mon premier objet
$bateau2 = new Bateau(5,'titanic',100,200);
versChaine($bateau1);
?>
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:27
par or 1
le message d'erreur est logique, il n'existe pas de fonction versChaine() dans ce code.
la fonction de classe versChaine ne prend pas de paramètre.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:38
par PHaPio
Ducoup je dois créer une nouvelle variable ? ( Je dirais peut être )
La fonction VersChaine doit être dans le constructeur ? ( Je pense que non )
Ou alors créer une fonction en dehors du constructeur qui ressemblerai à ça ?
Code : Tout sélectionner
public function setVersChaine($VersLaChaine) //$VersLaChaine étant une nouvelle variable
{
$this->_VersChaine = $unId;
}
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 16:41
par or 1
relis ton cours de programmation objet ou l'exemple dont tu t'inspires.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 17:06
par PHaPio
Selon mon cours, la fonction retourne une variable
Code : Tout sélectionner
<?php
function name_fonction ($params1, $params2, $params3, ... , $paramsN)
{
// code de la fonction
return ($une_variable)
}
?>
Alors est il possible de faire un :
return ($this->getNom,$this->getID...) ??
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 17:10
par or 1
oui, mais ta classe est bien codée, c'est dans
$bateau1 = new Bateau(2,'Batoto',150,47); // je créer mon premier objet
$bateau2 = new Bateau(5,'titanic',100,200);
versChaine($bateau1);
qu'il y a un problème. il faut donc relire un cours de programmation objet pour savoir comment utilisé un objet une fois qu'il a été créé.
Re: Fonction appelle Fonction
Posté : 02 oct. 2019, 17:14
par PHaPio
Ok merci pour les conseils , je vais voir ce que je peux faire
Et pour le :
C'etait un test, il est actuellement sous cette forme :