ADS - GoldenWeb.it Directory "Premium" Links

Assistenza Caldaie Roma Indipendent
Offre un servizio di assistenza caldaie a roma e provincia.
Inserisci annunci gratuiti
Cercaffare è un sito web studiato per pubblicare e consultare annunci di ogni genere, in modo gratuito. La bacheca di annunci è intuitiva, semplice e divisa in categorie, per una fruibilità immediata dei contenuti.
Ristrutturazioni a Torino
L'impresa Musso Decorazioni è sinonimo di soluzioni innovative nel settore delle ristrutturazioni a torino, da oltre 25 anni. In prevalenza si occupa del recupero di patrimoni immobiliari di valore architettonico e artistico, come palazzi pubblici, musei, cattedrali, chiese, ville e case d'epoca. Gli interventi messi in opera dall'impresa Musso, mirano alla valorizzazione degli immobili, attraverso un processo di trasformazione che consente un ammodernamento della struttura esistente
Fabbro Milano
Hai bisogno di un fabbro esperto e di fiducia a Milano? Sappiamo oggi giorno quanto è difficile potersi affidare in totale tranquillità ad un Fabbro su Milano e provincia, questo perché si ha sempre paura di ricevere servizi non all’altezza e preventivi gonfiati da professionisti che vogliono lucrare fin troppo sul loro lavoro.

Inserisci il tuo sito nella directory...

Manuale PHP


Scope Resolution Operator (::)

The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access to static, constant, and overridden properties or methods of a class.

When referencing these items from outside the class definition, use the name of the class.

As of PHP 5.3.0, it's possible to reference the class using a variable. The variable's value can not be a keyword (e.g. self, parent and static).

Paamayim Nekudotayim would, at first, seem like a strange choice for naming a double-colon. However, while writing the Zend Engine 0.5 (which powers PHP 3), that's what the Zend team decided to call it. It actually does mean double-colon - in Hebrew!

Example #1 :: from outside the class definition

<?php
class MyClass {
    const 
CONST_VALUE 'A constant value';
}

$classname 'MyClass';
echo 
$classname::CONST_VALUE// As of PHP 5.3.0

echo MyClass::CONST_VALUE;
?>

Three special keywords self, parent and static are used to access properties or methods from inside the class definition.

Example #2 :: from inside the class definition

<?php
class OtherClass extends MyClass
{
    public static 
$my_static 'static var';

    public static function 
doubleColon() {
        echo 
parent::CONST_VALUE "n";
        echo 
self::$my_static "n";
    }
}

$classname 'OtherClass';
echo 
$classname::doubleColon(); // As of PHP 5.3.0

OtherClass::doubleColon();
?>

When an extending class overrides the parents definition of a method, PHP will not call the parent's method. It's up to the extended class on whether or not the parent's method is called. This also applies to Constructors and Destructors, Overloading, and Magic method definitions.

Example #3 Calling a parent's method

<?php
class MyClass
{
    protected function 
myFunc() {
        echo 
"MyClass::myFunc()n";
    }
}

class 
OtherClass extends MyClass
{
    
// Override parent's definition
    
public function myFunc()
    {
        
// But still call the parent function
        
parent::myFunc();
        echo 
"OtherClass::myFunc()n";
    }
}

$class = new OtherClass();
$class->myFunc();
?>

See also some examples of static call trickery.