Mailinglisten-Archive |
Hi liste, hab ein kleines Problemchen bei folgendem Script. "Mutterobjekt" instanziert viele andere Objecte. mit diesem Schema: function m_construct() { switch( func_num_args() ) { case 1 : $param = func_get_arg( 0 ); $object = $param['object']; $name = $param['name']; $class = 'c_'.$object; if( class_exists($class) ) { $this->arr_objects[$object][$name] = new $class (&$this); return $this->arr_objects[$object][$name]; } break; default : break; } } mit $this übergebe ich ja das Object an das nächste. Funktioniert auch. Die Methode kann natürlich vom instanzierten Objekt aufgerufen werden und somit beliebig viele Unterobjekte bzw. Methoden eines anderen Objektes aufrufen. jetzt zum Problem. Das Array $this->arr_objects (z.B. $this->arr_objects['css']['layout']) ist nur in der jeweiligen Instanz sichtbar. Wenn ich versuche aus dem Hauptobjekt bzw. einem beliebigen Unterobjekt eine Methode über dieses Array anzusprechen, kennt er plötzlich den index 'css' nicht mehr. Aber im Unterobjekt 'xhtml' welches eine Instanz von 'css' im $this->arr_objects des Hauptobjekt erstellt hat (siehe Quelltext oben) kann ich ohne probleme das Object $this->arr_objects['css']['layout'] ansprechen. Gruß Eric
php::bar PHP Wiki - Listenarchive