NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:20.2.2014 21:46

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:21.2.2014 20:47

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.