no sé lo que está haciendo cuando tenemos esta situación:¿Qué significan dos puntos en PHP?
Foo::Bar
Parece un camino.
no sé lo que está haciendo cuando tenemos esta situación:¿Qué significan dos puntos en PHP?
Foo::Bar
Parece un camino.
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.
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()
¡Respuesta! Muy claro –
y static :: podemos usar – zloctb
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
?>
Me ganaste;) Eliminé mi respuesta como publicación duplicada. –
+1 esos mensajes de error siempre me tienen buscando dos veces –
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 –