Return pour une Classe

mandark Messages postés 16 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 10 mai 2006 - 16 févr. 2006 à 21:15
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 17 févr. 2006 à 00:52
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

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
16 févr. 2006 à 23:42
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>
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
17 févr. 2006 à 00:02
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
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 févr. 2006 à 00:52
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.
0
Rejoignez-nous