Return pour une Classe

Signaler
Messages postés
16
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
10 mai 2006
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
Bonjour à tous et encore merci à tous de l'aide que vous offrez ici (:

Voilà j'aimerai savoir comment gérer les valeurs de retour d'une classe, je m'explique, d'abord pour ceux qui conaissent le java
si on à la classe MaClasse et qu'on fait un
System.out.println(MaClasse);
la fonction MaClasse.toString() est appellée, donc il suffit de la surcharger pour controler ce que renvoie MaClasse lorsqu'elle est appellée.

En php pour ceux qui ne conaissent pas le java j'aimerai obtenir quelque chose du genre :

Class Test{
$valeur;
function Test($arg0){$this->valeur=$arg0;}
function toString(){return $this->valeur;}
}
si on fait un
$test = new Test("coucou");
echo $test->toString(); // On obtient "coucou"

j'aimerai pouvoir simplifier l'utilisation de la classe ( ici c'est un exemple, me dites pas "elle sert à rien ta classe" )
j'aimerai pouvoir l'utiliser comme ceci :

$test = new Test("coucou");
echo $test;

et voir "coucou"

est-ce possible ?
que faut-il mettre dans la classe pour obtenir ce fonctionnement ?
Je n'ai pas trouvé tout seul, comment aurais-je pu trouver ? ( genre quels mots clef google vous ont permis de tomber sur la réponse, si c'est le cas, car là je met "classe php retour" par exemple, j'ai rien d'interessant )

Merci à tous, bon dev & have fun (:

3 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

la fonction __tostring() existe en PHP 5 pour les classes, mais pas en php4

lorsque tu fais un echo $maClasse bah __tostring() sera appelée ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Salut,

en php, ta classe ressemblerai à ca : (test.php)

<?php
class test {
var $caption='';
function test($param) {
$this->caption = $param;
}
function afficher() {
return $this->caption;
}
}
?>

et le code :

<?php


require_once ('test.php');


$chaine = new test("coucou");
echo $chaine->afficher();


?>


http://perso.wareteam.com
http://freelance.wareteam.com
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
En php4 oui.

En php5 :

class test {

public function __construct($params) {
// Code
}

public function __ToString() {
return $var_de_type_string_obligatoire;
}

}

$test = new test($param);
echo $test; // Appel __ToString automatiquement.