/** * Adds Domain object from <domain> tag. * @param mixed XML attributes (array) or Domain object. */ public function addDomain($data) { if ($data instanceof Domain) { $domain = $data; // alias $domain->setDatabase($this); $this->domainMap[$domain->getName()] = $domain; return $domain; } else { $domain = new Domain(); $domain->setDatabase($this); $domain->loadFromXML($data); return $this->addDomain($domain); // call self w/ different param } }