PHP  »  Articoli  »  Mondo Php 

PHP 5.3: le novità

di: Riccardo Degni     02 Ottobre 2009

Metodi magici __callStatic ed __invoke

Come ho dichiarato nella lezione numero 25 della Guida alla programmazione orientata agli oggetti, il metodo magico __callStatic diviene ora disponibile con la versione 5.3. Quest'ultimo, come ogni metodo magico, viene richiamato al verificarsi di una determinata condizione: in questo caso si tratta del richiamo di un metodo inesistente nel contesto statico:

class MyClass {
        public function __callStatic($name, $args) {
                echo "È stato richiamato il metodo " . $name . " in un contesto statico con i seguenti argomenti: ";
                foreach($args as $arg) echo $arg . " ";
        }
}

$obj1 = new MyClass();

// stampa "È stato richiamato il metodo setName in un contesto statico con i seguenti argomenti: George"
MyClass::setName("George");

Il metodo magico __invoke invece (lezione 26 della guida) viene richiamato quando si usa un oggetto come una funzione:

// __invoke
class MyClass {
    
    public function __invoke($x) {
        echo $x;
    }

}

$obj1 = new MyClass();
$obj1(5);

Shortcut per l'operatore ternario

È ora possibile utilizzare l'utilissimo operatore ternario in un'altra modalità, oltre a quella standard, che consente di eliminare la parte centrale dell'espressione:

// sintassi standard
(expr1) ? (expr2) : (expr3)

// sintassi alternativa
expr1 ?: expr3

Questo dice a PHP di restituire expr1 nel caso venga valutata come true, in caso contrario di restituire expr3.

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