2010-05-25 3 views

Répondre

38

C'est (généralement) pour accéder à une méthode statique ou une propriété dans une classe. C'est ce qu'on appelle l'opérateur de résolution de portée, ou Paamayim Nekudotayim (ce qui conduit à des messages d'erreur incroyablement confus!). Voir http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php.

+5

Vous me battez à elle;) Supprimé ma réponse en tant que poste en double. –

+0

+1 ces messages d'erreur m'ont toujours regardé deux fois –

+1

Comme la page de manuel de PHP ci-dessus note, cela signifie "double colon" hébreu. Wikipédia le mentionne aussi. http://en.wikipedia.org/wiki/Scope_resolution_operator#PHP –

49

Le :: operator is the scope resolution operator. Il permet d'accéder à des constantes de classe ou des propriétés et des méthodes statiques, soit à partir de l'extérieur de la classe:

ClassName::CONSTANT_VALUE 
ClassName::staticMethod() 

ou dans une méthode de classe pour faire référence à la même ou une classe parent à l'aide self et parent:

self::CONSTANT_VALUE 
self::staticMethod() 
parent::CONSTANT_VALUE 
parent::staticMethod() 
+0

Une réponse fantastique! Très clair –

+0

et statique :: nous pouvons utiliser – zloctb

3

L'Opérateur de contexte (: :) double côlon, est un jeton qui permet d'accéder à statique, constant, et les propriétés surchargées ou méthodes d'une classe.

<?php 
class A { 

public static $B = '1'; # Static class variable. 

const B = '2'; # Class constant. 

public static function B() { # Static class function. 
    return '3'; 
} 

} 

echo A::$B . A::B . A::B(); # Outputs: 123 
?> 
Questions connexes