Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/03/2006, 06:39
gnfrs
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
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,