Ciao,
stò studiando questa guida: http://php.html.it/guide/lezione/424...seconda-parte/

mi trovo in difficoltà con il seguente listato:

codice:
<?php

class MyClass{

    // PROPRIETÀ:
    public $a;
    public $b;

    /* METODO MAGICO __set_state(): viene azionato quando si esporta un oggetto
     * tramita la funzione var_export ed accetta un array che avrà le coppie
     * key/value impostate ai nomi/valori delle proprietà esportate */
    public static function __set_state($arr){
        $obj = new MyClass();        // Crea un nuovo oggetto istanza di MyClass
        $obj->a = $arr['a'];
        $obj->b = $arr['b'];
        return $obj;                // Ritorna il riferimento al nuovo oggetto
    }

 }

 $obj1 = new MyClass();     // Crea un nuovo oggetto istanza di MyClass
 $obj1->a = 10;             // Modifica la proprietà a
 $obj1->b = 20;             // Modifica la proprietà b

 eval('$obj2 = ' . var_export($obj1, true) . ';');

?>
Quando lo vado a fari girare non mi si vede nulla...e non capisco neanche bene cosa dovrebbe fare...

Praticamente...da quello che ho capito il metodo magico __set_state() viene richiamato automaticamente quando si esporta un oggetto in un altro oggetto con la funzione var_export()

Praticamente che fà? Prende in input un array (che non ho ben capito cosa contiene)...crea un nuovo oggetti e che significano esattamente queste due assegnazioni?
codice:
$obj->a = $arr['a'];
$obj->b = $arr['b'];
Cosa significa inoltre l'ultima operazione fatta fuori dalla classe? eval('$obj2 = ' . var_export($obj1, true) . ';');

Questo esempio non mi pare chiarissimo...

Grazie
Andrea