2010-10-18 20 views

Respuesta

109

:: es para elementos estáticos, mientras que -> es, por ejemplo, elementos.

Por ejemplo:

class Example { 
    public static function hello(){ 
    echo 'hello'; 
    } 
    public function world(){ 
    echo 'world'; 
    } 
} 

// Static method, can be called from the class name 
Example::hello(); 

// Instance method, can only be called from an instance of the class 
$obj = new Example(); 
$obj->world(); 

More about the static concept

+9

También hay que señalar que para la integridad 'métodos static' se pueden llamar directamente desde una instancia de la misma manera que lo haría llamar al método "ejemplo": '$ obj-> hello()' – prodigitalson

+2

preguntó por qué se usa en este ejemplo, no en lo que hace ... – Hannes

+0

Ah, es posible que haya malentendido la pregunta, mi mal. – wildpeaks

4

Esto es solo una notación por el hecho de que es el método de un objeto y no tiene nada que ver con el uso real.

En el caso de la documentación, no se trata de una instancia de un objeto como $object, por lo que el operador -> no sería correcto ya que desea enumerar el nombre de clase real. Entonces, siguiendo el uso de un método estático donde el nombre de clase es estático, usa el alcance res. operador :: ...

Generalmente, así es como funciona la documentación de PHP para las clases.

3

La flecha significa que se llama addChild como miembro del objeto (en este caso $ sxe).

Los dos puntos dobles significan que addChild es un miembro de la clase SimpleXMLElement.

Cuestiones relacionadas