Hallo,
ich möchte in einer Klasse einer Methode ein bereits vorhandenes Objekt übergeben, und die Momentane Instanz überladen. Mmh besser kann ich das nicht beschreiben, hier erstmal der Code. Daraus kann man denke ich erkennen, was ich machen möchte:
PHP-Code:
<?php
class foo {
$bar = '';
function foo() {}
function overload($object) {
if(@get_class($object)=='foo') {
//funktioniert nicht
// $this = $object;
// funktioniert, ist aber unsicher und nicht gerade elegant
foreach($object as $key => $value) {
if(isset($this->$key)) {
$this->$key = $value;
}
}
}
}
}
$foo = new foo();
$foo2 = new foo();
$foo2->bar = 'hallo';
$foo->overload($foo2);
// Jetzt müsste $foo = $foo2 sein.
// Achtung: Es soll aus verschiedenen Gründen NICHT so gelöst werden:
// $foo = $foo2;
?>
Ich möchte erreichen, dass man das Objekt nicht mit foreach durchläuft, sondern per $this zuweisen kann. Ist das irgendwie INNERHALB der Klasse möglich?
Mit einer Referenz habe ich es auch schon erfolglos versucht. ($this =& $object)