Написал класс для работы с xml. В нем присутствуют такие методы PHP: function MenuBuilder($id) { $this->system_id = $id; $this->xml = new DomDocument('1.0','utf-8'); } function appendObject($title) { return $this->object->appendChild($this->xml->createElement($title)); } function createMain($title) { return $this->xml->appendChild($this->xml->createElement($title)); } function setObject($item) { $this->object = $item; } Пытаюсь работать с ним таким образом PHP: $prodNode = $xml_prod->createMain('product'); $xml_prod->setObject($prodNode); $category = $xml_prod->appendObject('category'); Задача ставится сделать универсальную функцию для создания дерева. Но при выполнении возникает ошибка Fatal error: Call to a member function appendChild() on a non-object Не могу понять как правильно передать объект для которого создается потомок.[/php]
А ты уверен, что ошибка в этом коде? Я проверил код, создал xml сохранил используя твой код, ну правда слегка изменил, но изменения не значительны. Ошибок не было.
Ошибка Fatal error: Call to a member function appendChild() on a non-object может быть если забыть вызвать ф-ю setObject(), т.е. если переменная $this->object будет не задана.
Всем спасибо! Действительно был мой косяк в вызове setObject() не тот node передавал. Вот как иногда полезно с кем то обсудить проблему что бы найти решение. А ведь на протяжении нескольких часов сидел и действительно не видел глупой ошибки.