Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Drake22

[Resolvido] Erro indetectavel

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.