Hola,
Interesante el material, pero no es algo de otro mundo...
El link expone este ejemplo:
Código:
<?
class Universo
{
function clonar()
{
$cadena=serialize($this);
$vec=explode(':',$cadena);
$nombre=str_replace("\"",'',$vec[2]);
$ret = new $nombre;
return $ret;
}
}
class Algo extends Universo {
var $a;
function Algo() { }
}
// Entonces:
$obj=new Algo();
$obj->a = '10';
//Algo extiende a Universo !!
$otro = $obj->clonar();
?>
Pero se podría hacer de esta forma, que es mucho más sencillo y comprensible:
Código:
class a {
function clonar() {
$a = get_class($this);
return new $a;
}
}
class b extends a {
function b() {
}
}
$b = new b();
$bb = $b->clonar();
Un saludo,