2012-07-02 10 views
8

Estoy administrando un sitio web con un marco personalizado, desarrollado por algunos programadores que ya no trabajan en nuestra empresa. En algunas partes del código vi esto:¿Qué se supone que debe hacer esta sintaxis?

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

¿Qué se supone que debe hacer esto? ¿Por qué clonarías un objeto creado así?

+0

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

Respuesta

7

tal vez tienen una extraña configuración en el método __clone() que necesitan ser llamado justo después instatiation pero sería bastante inútil. Si la clase PagesControl no tiene un método __clone(), simplemente quitarse el clone, de lo contrario poner el código que está presente en el método __clone() dentro de la clonación de objetos __construct()

12

No, no tiene sentido.

Debería ser:

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

Y si la clase $ es fija, entonces debería ser $obj = new PagesControl();

Cuestiones relacionadas