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 :D
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

Code : Tout sélectionner

versChaine();
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 :

Code : Tout sélectionner

versChaine($bateau1);
C'etait un test, il est actuellement sous cette forme :

Code : Tout sélectionner

versChaine();