Logo: Marc Harnist

N° 91 - Static
 - Le 20/03/2018 Catégorie: lexicon

Une classe, comme un objet, peut avoir ses attributs. On utilise "static" pour les définir.
Exemple: protected static $compteur = 0; ou public static $compteur = 0; ou private static $compteur=0;
On accède à l'attribut de la classe grâce à ::
Exemple: $this->id = static::$compteur;


Dans la classe ci-dessous on peut remplacer self par static:

class Voiture{

private $couleur;
private $poids = 2.186;

protected $cle = "Marc";
protected $estDemarre = False;
protected $estArrete = False;

const MARQUE = "BMW"; // comment créer une constante. On peut l'appeler n'importe où avec: echo Voiture::

protected static $nbVoituresCrees = 0;//variable de classe.

public function __construct(){

// self cherche une variable dans la classe elle-même en cours
self::$nbVoituresCrees++; // self remplace: Voiture::$nbVoituresCrees++; ou static::$nbVoituresCrees
$this->numero = self::$nbVoituresCrees;
echo "Voiture numéro " . $this->numero."créée.";
}
Ce qui donne:
// self cherche une variable dans la classe elle-même en cours
static::$nbVoituresCrees++; // static remplace: Voiture::$nbVoituresCrees++;
$this->numero = static::$nbVoituresCrees;