All pastes #98996 Raw Edit

Untitled

public php v1 · immutable
#98996 ·published 2006-07-24 23:30 UTC
rendered paste body
<?phpinterface Morphable {     public function morph($class);}   class Morpher implements Morphable {    private static $pointers = array();    public static function instance($class = 'Morpher', &$var) {        $var = new $class();        self::$pointers[] =& $var;    }    public function morph($class) {        if( ! class_exists($class))            throw new Exception("Couldn't morph. Class $class doesn't exist.");        $index = array_search($this, self::$pointers);        self::$pointers[$index] = new $class;    }}class A extends Morpher { }class B extends Morpher { }Morpher::instance('A', $m);var_dump( $m );$m->morph('B');var_dump( $m );show_source(__FILE__);?> object(A)#1 (0) { } object(B)#2 (0) { }