<?php

class my_class
{
    public $var1;

    public $var2;

    public $var3;

	private $data;
	
	public function __construct()
	{
	    $this->data = new stdClass;
	    $this->data->var1 = 'a';
	    $this->data->var2 = 'b';
	    $this->data->var3 = 'c';
	    $this->assignReferences();
	}
	
	public function __clone()
	{
	    $this->data = clone $this->data;
	    $this->assignReferences();
	}
	
	private function assignReferences()
	{
	    $this->var1 = &$this->data->var1;
	    $this->var2 = &$this->data->var2;
	    $this->var3 = &$this->data->var3;        
	}
}

$original = new my_class;
$new = clone $original;
$new->var3 = 'd'; 

echo $original->var3; // Output Should Be "c"