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 { // Nous pouvons déclarer les méthodes publiques et protégées, mais pas les privées 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.
|
|