Manuel PHP
Précédent | Chapitre 18. Les classes et les objets (PHP 5) | Suivant

# ::

Le Paamayim Nekudotayim est le symble double deux points (::). Il fournit un moyen d'accéder aux membres static, constant ou encore aux méthodes redéfinies par la classe.

Lorsque vous référencez ces éléments en dehors de la définition de la classe, vous utilisez le nom de la classe.

Paamayim Nekudotayim peut sembler un choix étrange pour un double deux points. Cependant, au moment de l'écriture du Zend Engine 0.5 (fournit avec PHP 3), c'est le nom choisi par Andi et Zeev. Actuellement, celà signifie un double deux points... en Hébreu ! Pendant la progression du développement de PHP, ce nom n'a tout simplement jamais changé.

Exemple 18-4. :: en dehors de la définition de la classe

`<?php class MyClass { const CONST_VALUE = 'Une valeur constante'; } echo MyClass::CONST_VALUE; ?>`

Deux mots clés spéciaux self et parent sont utilisés pour accéder aux membres ou aux méthodes depuis la définition de la classe.

Exemple 18-5. :: depuis la définition de la classe

`<?php class OtherClass extends MyClass { public static $my_static = 'variable statique'; public static function doubleColon() { echo parent::CONST_VALUE . "\n"; echo self::$my_static . "\n"; } } OtherClass::doubleColon(); ?>`

Lorsqu'une classe étendue redéfinit une méthode de la classe parente, PHP n'appelera pas la méthode d'origine. Il appartient à la méthode dérivée d'appeler la méthode d'origine en cas de besoin. Celà est également valable pour les définitions des constructeurs et des destructeurs, les surcharges et les méthodes magiques.

Exemple 18-6. Appel d'une méthode parent

`<?php class MyClass { protected function myFunc() { echo "MyClass::myFunc()\n"; } } class OtherClass extends MyClass { /* Dépassement de la définition parent */ public function myFunc() { /* Mais appel de la fonction parent */ parent::myFunc(); echo "OtherClass::myFunc()\n"; } } $class = new OtherClass(); $class->myFunc(); ?>`

Précédent | Sommaire | Suivant
Visibilité | Niveau supérieur | Statique