2017-11-02 2 views
-1
nicht

Ist möglich Klon php Objektklasse und alle Tage alle verfügbarenPhp Klon arbeitet

Beispiel

Class A{ 
    private $data; 
    public function set($name, $value){ 
    $this->data[$name] = $value; 
    } 

    public function get($name){ 
    return isset($this->data[$name]) ? $this->data[$name] : null; 
    } 

    public function __clone(){ 
    $this->data = unserialize(serialize($this->data)); 
    } 
} 

Arbeiten mit Klon ändern

$a = new A(); 
$a->set('dog', 'Kiki'); 

$b = clone $a; 

var_dump($b->get('dog')); 

dump value is 'Kiki'; 

Also ich brauche Objekt für $ b alway dynamisch ändern wenn das Objekt $ a eine Änderung ist Beispiel

$a = new A(); 
$b = clone $a; 

$a->set('dog','Kiki'); 
var_dump($b->get('dog')); 

dump value is null; 

Wie ändert man das dynamische Objekt $ b wenn Objekt $ eine Änderung?

Dank

+1

Wenn Sie '$ b' ändern möchten, wenn' $ a' ändert, warum klonen Sie dann? Tun Sie einfach "$ b = $ a". – bishop

+0

was ist der Punkt? – nogad

+0

Sie könnten '$ b' Referenz' $ a' machen ... dann wird es keine Kopie sein – Ice76

Antwort

-1

Der einzige Weg, dies zu tun, ist, dass auf eigene Faust zu behandeln. Ich würde vorschlagen, Klasse A ein wenig zu erweitern:

+0

Kann der, der es runtergereicht hat, mir den Grund erklären? – Jaspa