Page 1 sur 1

Petite Question :)

Posté : 20 févr. 2014, 20:15
par Macharius
Bonjour, j'aimerai savoir comment faire pour avoir une variable commune a plusieurs instance d'une même classe.
Du genre...

$voiture1 = new Voiture("bleu");
$voiture2 = new Voiture("rouge");
$voiture1->getNbRoue(); //retourne 4
$voiture2->getNbRoue(); //retourne 4

où le nombre de roues est 4, mais qu'il soit modifiable facilement. Par exemple :

setNbRoueVoiture(6);

$voiture1->getNbRoue(); //retourne 6
$voiture2->getNbRoue(); //retourne 6

sans devoir le modifier dans chaque classe Voiture une par une.

Merci.
Cordialement,
Macharius.

Re: Petite Question :)

Posté : 20 févr. 2014, 20:41
par xTG
C'est une variable de class qu'il te faut alors.
Autrement dit une variable statique, elle ne dépend pas de l'instance.
class A
{
  public static $nombre = 0;
  public $nombre2;

  public function getNombre()
  {
    return A::$nombre; // ou return self::$nombre;
  }
}
$a1 = new A();
$a2 = new A();
$a1->nombre2 = 1;
$a2->nombre2 = 2;
echo $a1->nombre2; // 1
A::$nombre = 1;
echo $a1->getNombre(); // 1
echo $a2->getNombre(); // 1

Re: Petite Question :)

Posté : 20 févr. 2014, 20:55
par Macharius
niquel ça marche parfaitement.
:) merci :)