Je ne sais pas ce qu'il fait quand nous avons cette situation:Que signifient deux colons en PHP?
Foo::Bar
Il ressemble à un chemin.
Je ne sais pas ce qu'il fait quand nous avons cette situation:Que signifient deux colons en PHP?
Foo::Bar
Il ressemble à un chemin.
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.
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()
Une réponse fantastique! Très clair –
et statique :: nous pouvons utiliser – zloctb
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
?>
Vous me battez à elle;) Supprimé ma réponse en tant que poste en double. –
+1 ces messages d'erreur m'ont toujours regardé deux fois –
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 –