Les classes et les objets (PHP 5)
<<<
Visibilité des membres Visibilité des méthodes
>>>

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.

<< Visibilité des membres >>
Les classes et les objets (PHP 5) Visibilité Visibilité des méthodes