Diskuze: Volání metody v jiné metodě - non-object

PHP PHP Volání metody v jiné metodě - non-object American English version English version

Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Ahoj, menší problém a nevidím nikde problém. Píše mi že $xml není objektem v druhé metodě arrayToXml(&$xml). Díky za tipy :)

class XmlCreator
{
        private $rootElement;
        private $element;
        private $data;
        function __construct($rootElement,$element,$data)
        {
                $this->rootElement=$rootElement;
                $this->element=$element;
                $this->data=$data;
        }

        public function getXML()
        {
                $root = "<$this->rootElement></$this->rootElement>";
                $xml = new SimpleXMLElement("<?xml version=\"1.0\"?>".$root);
                $this->arrayToXml($xml);
                return $xml->asXML();
        }

        private function arrayToXml(&$xml)
        {
            foreach($this->data as $key => $value)
            {
                if(is_array($value)) {
                    if(!is_numeric($key)){
                        $subnode = $xml->addChild("$key");
                        $this->arrayToXml($value, $subnode);
                    }
                    else{
                        $subnode = $xml->addChild($this->element);
                        $this->arrayToXml($value, $subnode);
                    }
                }
                else {
                    $xml->addChild("$key","$value");
                }
            }
        }
}
Editováno 20.2.2014 21:47
Odpovědět 20.2.2014 21:46
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
chosee.s
Člen
Avatar
chosee.s:

Mě to funguje. Co to píše přesně za chybu?

 
Nahoru Odpovědět 21.2.2014 20:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.