Hi,
$name = (string)$xmlObject->xmlElement[0]['Name'];
Das stellt aber einen erheblichen Eingriff in die Kapselung dar. Da sind wir wieder bei der Unsinnigkeit von OOP unter PHP angelangt ;-P
Ich habe nicht nachgesehen, aber es ist nicht zwingend notwendig, dass der Rückgabewert von $xmlObject->xmlElement[0] ein Array ist. Es reicht, wenn es das Array-Interface implementiert und somit die OffsetGet-Methode den Getter für "Name" ersetzt. Das wäre immer noch "gültiges OOP".
Beispiel (nicht getestet):
  
  
class MyBean implements ArrayAccess {  
  private $bla;  
  public getBla() { return $this->bla; }  
  public setBla($_bla) { $this->bla = $_bla; echo $_bla; }  
  
  private function getFuncName($key, $get = 1) {  
    $key = ($get ? 'g' : 's') . 'et' . ucfirst(strtolower($key));  
  }  
  
  public function offsetExists($key) {  
    return is_callable($this, $this->getFuncName($key));  
    //return method_exists($this, $key); // damit würden private Methoden aufrufbar werden  
  }  
  
  public function offsetGet($key) {  
    if (! $this->offsetExists($key))  
      throw new Exception('Member ' . $key . ' does not exist');  
  
    return $this->{$this->getFuncName($key)}();  
  }  
  
  public function offsetSet($key, $val) {  
    if (! $this->offsetExists($key))  
      throw new Exception('Member ' . $key . ' does not exist');  
  
    return $this->{$this->getFuncName($key, 0)}($val);  
  }  
  
  public function offsetUnset($key) {  
    if (! $this->offsetExists($key))  
      throw new Exception('Member ' . $key . ' does not exist');  
  
    return $this->{$this->getFuncName($key, 0)}(null);  
  }  
}  
  
$bean = new MyBean();  
$bean['bla'] = 'blub';  
// ruft $bean->setBla('blub') auf und führt darin das "echo" aus  
Reflexion machts möglich. Kapselung ist im Wesentlichen nicht verletzt, da es nicht möglich ist, die Eigenschaft 'bla' zu setzen, ohne den Getter/Setter aufzurufen.
Aber ich vergaß, dass du mit deiner Aussage wieder nur versucht hast, deinen Standpunkt bzgl. OOP zu verteidigen.
Bis die Tage,
Matti
 nicht angemeldet
 nicht angemeldet Der Martin
 Der Martin