PHP  »  Articoli  »  Mondo Php 

PHP 5.3: le novità

di: Riccardo Degni     02 Ottobre 2009

Late State Bindings

La tecnica del "Late State Bindings" permette di superare, in ambito di programmazione ad oggetti, le limitazioni offerte dai dati statici della classe. In particolare, sappiamo che un metodo statico viene risolto (o associato) in fase di compilazione; prima della release 5.3 non esisteva una modalità standard che permetteva di cambiare questo comportamento (in realtà esistono strategie apposite o hack particolari, ma presentano non poche limitazioni e controindicazioni). Tramite l'uso della parola chiave static associata al metodo, non si risolverà più utilizzando l'ambito statico di compilazione (ovvero quello dove è stata effettuata la dichiarazione del metodo), ma verrà associato in fase di esecuzione o run-time. Vediamo, nella pagina successiva, un esempio pratico.

Gli esempi pratici più classici che spiegano egregiamente questo concetto sono questi:

Senza Late Bindings:

<pre>
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

// stampa "A". Viene utilizzato l'ambito statico, in fase di compliazione
B::test();

Con Late Bindings:

class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Late Static Bindings in azione
    }
}

class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}

// stampa "B". Viene utilizzato l'ambito di esecuzione o run-time
B::test();

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti