5.10.5 Visibilité
5.10 Les classes et les objets (PHP 5)
5 Référence du langage
Manuel PHP
->Visibilité des membres . Visibilité des méthodes
|
5.10.5.1 Visibilité des membres
Les classes membres doivent être définies comme
publiques, protégées ou privées.
Déclaration des membres |
<?php /** * Définition de MyClass */ class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private';
function printHello() { echo $this->private; echo $this->protected; echo $this->private; } }
$obj = new MyClass(); echo $obj->public; // Fonctionne echo $obj->protected; // Erreur fatale echo $obj->private; // Erreur fatale $obj->printHello(); // Affiche Public, Protected et Private
/** * Définition de MyClass2 */ class MyClass2 extends MyClass { // On peut redéclarer les éléments publics ou protégés, mais pas les privés protected $protected = 'Protected';
function printHello() { echo $this->public; echo $this->protected; echo $this->private; } }
$obj2 = new MyClass2(); echo $obj->public; // Fonctionne echo $obj2->private; // Indéfini echo $obj2->protected; // Erreur fatale $obj2->printHello(); // Affiche Public, Protected2 et non Private
?>
|
Note |
La méthode de déclaration de variable en PHP 4 avec le mot
clé
var
n'est plus valide
pour les objets en PHP 5. Pour des raisons de compatibilité,
une variable déclarée ainsi aura automatiquement une visibilité
publique et une erreur de niveau
E_STRICT
sera
générée.
|
|