2010-05-25 22 views

Respuesta

38

Eso es (generalmente) para acceder a un método o propiedad estático en una clase. Se llama el operador de resolución de alcance, o Paamayim Nekudotayim (¡lo que lleva a algunos mensajes de error increíblemente confusos!). Ver http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php.

+5

Me ganaste;) Eliminé mi respuesta como publicación duplicada. –

+0

+1 esos mensajes de error siempre me tienen buscando dos veces –

+1

Como la página de manual de PHP indica, significa "doble codo" en hebreo. Wikipedia lo menciona, también. http://en.wikipedia.org/wiki/Scope_resolution_operator#PHP –

49

El :: operator is the scope resolution operator. Se utiliza para acceder constantes de clase o propiedades estáticas y métodos, ya sea desde fuera de la clase:

ClassName::CONSTANT_VALUE 
ClassName::staticMethod() 

o dentro de un método de la clase para hacer referencia al mismo o una clase padre usando self y parent:

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

¡Respuesta! Muy claro –

+0

y static :: podemos usar – zloctb

3

El Operador de Resolución (: :) el doble de colon, es un contador que permite el acceso a estática, constante , y propiedades sobrescritos o métodos de una clase.

<?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 
?> 
Cuestiones relacionadas