2012-07-02 27 views
8

Sto gestendo un sito Web con un framework personalizzato, sviluppato da alcuni programmatori che non lavorano più in azienda. In alcune parti del codice ho visto questo:Cosa dovrebbe fare questa sintassi?

$class = 'PagesControl'; 
$obj = clone new $class(); 

Cosa dovrebbe fare questa cosa? Perché dovresti clonare un oggetto creato in questo modo?

+0

: http://php.net/manual/en/language.oop5 .cloning.php – HanhNghien

risposta

7

Forse hanno qualche strana configurazione nel metodo __clone() che hanno bisogno di essere chiamato subito dopo instatiation ma sarebbe abbastanza inutile. Se la classe PagesControl non ha un metodo __clone(), basta togliere il clone, altrimenti inserire il codice che è presente nel metodo __clone() all'interno dell'oggetto Cloning __construct()

12

No, non ha senso.

Dovrebbe essere:

$class = 'PagesControl'; 
$obj = new $class(); 

E se $ classe è fisso, quindi dovrebbe essere $obj = new PagesControl();

Problemi correlati