Drake22 0 Denunciar post Postado Maio 19, 2011 Seguindo um livro sobre PHP Orietando a Objetos, passei o código pro PC e na hora de conferir aparece: Parse error: parse error in C:\EasyPHP5.3.0\www\toxml.php on line 27 Sendo que essa eh a ultima linha do código(?>) Analisem o codigo por favor, começou a dar esse erro depois que coloquei a function toXml(), e pelo q eu conferi, está igual à do livro: <?php class Cachorro { function __construct($nome, $idade, $raca) { $this->nome = $nome; $this->idade = $idade; $this->raca = $raca; } function toXml() { return <<<XML <cachorro> <nome> {$this->nome}</nome> <idade> {$this->idade} </idade> <raca> {$this->raca} </raca> </cachorro> XML; } } $toto = new Cachorro('Totó', 10, 'Dalmata'); echo $toto->toXml(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
alexsandrofm 0 Denunciar post Postado Maio 19, 2011 Segue: <?php class Cachorro { function __construct($nome, $idade, $raca) { $this->nome = $nome; $this->idade = $idade; $this->raca = $raca; } function toXml() { return "<<<XML <cachorro> <nome> {$this->nome}</nome> <idade> {$this->idade} </idade> <raca> {$this->raca} </raca> </cachorro> XML"; } } $toto = new Cachorro('Totó', 10, 'Dalmata'); echo $toto->toXml(); ?> Adicionei aspas no retorno da função: return "<<<XML <cachorro> <nome> {$this->nome}</nome> <idade> {$this->idade} </idade> <raca> {$this->raca} </raca> </cachorro> XML"; Compartilhar este post Link para o post Compartilhar em outros sites
Drake22 0 Denunciar post Postado Maio 19, 2011 Mas tipo, eu usei a sintaxe heredoc ali, para que o que for impresso seja exatamente como tah delimitado ali, ou seja: <cachorro> <nome> Totó</nome> <idade> 10 </idade> <raca> Dalmata </raca> </cachorro> Se eu colocar aspas simples ou duplas nem rola, pq n ficaria nesse "formato" Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Maio 19, 2011 Mas tipo, eu usei a sintaxe heredoc ali Leia sempre a documentação: The closing identifier must begin in the first column of the line. Also, the identifier must follow the same naming rules as any other label in PHP: it must contain only alphanumeric characters and underscores, and must start with a non-digit character or underscore. Seu código deveria estar: function toXml() { return <<<XML <cachorro> <nome> {$this->nome}</nome> <idade> {$this->idade} </idade> <raca> {$this->raca} </raca> </cachorro> XML; } ;) Compartilhar este post Link para o post Compartilhar em outros sites
Drake22 0 Denunciar post Postado Maio 19, 2011 Tipo, agora o Dreamweaver n acusa mais erro porem qdo mostra na tela fica assim: Totó 10 Dalmata Não era pra ficar assim?: <cachorro> <nome> Totó</nome> <idade> 10 </idade> <raca> Dalmata </raca> </cachorro> Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Maio 20, 2011 Não era pra ficar assim?: Se você estiver vendo esse resultado em um navegador, então significa que sua marcação foi interpretada. Mande exibir o código fonte que você verá o resultado esperado. Compartilhar este post Link para o post Compartilhar em outros sites
Drake22 0 Denunciar post Postado Maio 20, 2011 Ah, saquei, vlw pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites