OVH Cloud OVH Cloud

class ville

8 réponses
Avatar
jeancito
Bonjour à tous !

Je teste une classe rédigée dans un ouvrage informatique
la classe fonctionne mais rien ne s'affiche ...
pouvez vous m'indiquer la bonne manière de procéder
en vous remerciant pour vos suggestions

Jean Marc

<?php
class ville
{
private $nom;
private $depart;

public function_construct($nom,$depart)
{
$this->nom=$nom;
$this->depart=$depart;
}

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}
}
$ville1=new ville("Nantes","Loire Atlantique");
$ville2=new ville("Lyon","Rhône");
echo $ville1->getinfo();
echo $ville2->getinfo();
?>

8 réponses

Avatar
CrazyCat
jeancito wrote:
public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}
$ville1=new ville("Nantes","Loire Atlantique");
echo $ville1->getinfo();


Je vais peut-être dire une bétise, mais si une fonction doit renvoyer
quelque chose, il faut lui dire.

<?
public function getinfo() {
return "La ville de $this->nom est dans le departement: $this->depart";
}
?>


--
Aide informatique: http://help-info.forumactif.com
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net

Avatar
Christophe Meresse

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}


La function getinfo ne retourne rien... Il faudrait retourner le $texte
pour que ca marche:

public function getinfo() {
$texte="La ville de $this->nom est dans le departement :
$this->depart</br>";
return $texte;
}

Oubli de ta part ou est-ce que les exemples du bouquin ont été testé
avec un ordinateur en carton ?

A+
Christophe

Avatar
dwojylac.nospam
jeancito wrote:

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}


manque peut-être :
return $texte;
avant l'accolade de fin et après $texte = ...
--
Dominique
http://wojylac.free.fr

Avatar
bruno at modulix
jeancito wrote:
Bonjour à tous !

Je teste une classe rédigée dans un ouvrage informatique
la classe fonctionne mais rien ne s'affiche ...




<?php
class ville
{
(snip)


public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}


public function getinfo(){
return "La ville de {$this->nom} est dans "
. "le departement :{$this->depart} <br>";
}

Si c'est texto extrait du bouquin, tu peux aussi bien t'en servir en cas
de pénurie de PQ.

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"

Avatar
Olivier Miakinen

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}


public function getinfo(){
return "La ville de $this->nom est dans le departement : $this->depart
</br>";
}
echo $ville1->getinfo();
echo $ville2->getinfo();



--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Kevin
Salut,

Il y a une différence entre php4 et php5 dans la gestion des objets:

en php4 le constructeur est une fonction qui porte le même nom que la
classe (idem C++)
en php5 le constructeur est une fonction appelée __constuct ( _
_conscruct)

de plus dans ta fonction getinfo il manque un "return($texte);" a la
fin pour retourner les infos :p


donc en PHP5 pur:

<?php

class ville
{
private $nom;
private $depart;

function __construct ($nom,$depart)
{
$this->nom=$nom;
$this->depart=$depart;
}

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
return($texte);
}

}

$ville1=new ville("Nantes","Loire Atlantique");
$ville2=new ville("Lyon","Rhône");
echo $ville1->getinfo();
echo $ville2->getinfo();
?>




et en php4 (php5 supporte toutefois cette notation)

<?php

class ville
{
private $nom;
private $depart;

function ville ($nom,$depart)
{
$this->nom=$nom;
$this->depart=$depart;
}

public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
return($texte);
}

}

$ville1=new ville("Nantes","Loire Atlantique");
$ville2=new ville("Lyon","Rhône");
echo $ville1->getinfo();
echo $ville2->getinfo();
?>


pour finir cette explication, la méthode dite constructeur est
invoquée lors de l'utilisation de l'opérateur new juste après la
création de l'objet (propriétés (ie synonyme de variable en 'objet')
déjà existantes) permet d'initialiser des propriétés de l'objet.

--
Kevin
Avatar
dmetzler
Il manque un return $texte dans ta fonction getinfo :

public function getinfo(){
$texte="La ville de $this->nom est dans le departement :
$this->depart</br>";
return $texte;
}


Sinon la fonction ne renvoie rient et echo n'affiche .... rien ;)
Avatar
Fred
public function getinfo(){
$texte="La ville de $this->nom est dans le departement : $this->depart
</br>";
}
}
$ville1=new ville("Nantes","Loire Atlantique");
$ville2=new ville("Lyon","Rhône");
echo $ville1->getinfo();



il ne manque pas un return $texte dans ta fonction ?

@+

Fred