• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

WoOo

Melhor prática!?

9 mensagens neste tópico

Viva!

Estava aqui a fazer um script e deparei-me com duas situações, ambas funcionam correctamente, porém gostava de saber se é indiferente usar uma ou outra ou se alguma delas é considerada uma melhor prática.

Então vejamos a primeira situação:

...
<?php
if($i==1)
{
  echo'<table><tr><td>texto 1</td></tr></table>';
}
else
{
  echo'<table><tr><td>texto 2</td></tr></table>';
}
?>
...

Segunda situação:

...
<?php
if($i==1)
{
?>
<table><tr><td>texto 1</td></tr></table>
<?php
}
else
{
?>
<table><tr><td>texto 2</td></tr></table>
<?php
}
?>
...

Ambos os codigos funcionam correctamente, mas no primeiro usei o echo para imprimir o que queria, no segundo caso fechei a tag php, inseri o html e depois voltei a abrir para continuar o else, etc.

Qual destas situações devemos utilizar ou torna-se indiferente?

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É indiferente, porque o resultado é o mesmo. No entanto, se fosse eu a escolher, e tendo em conta que o exemplo era exactamente o que querias fazer, talvez optasse pela 1ª forma, porque na 2ª abres e fechas a tags de PHP muitas vezes, para imprimir uma linha em HTML em cada caso. Mas como disse, isto é apenas subjectivo :P

Já agora, se fosses imprimir o valor da variável, qualquer que fosse a situação, e a variável tivesse todo o conteúdo necessário, bastava fazer:

<?php
echo "<table><tr><td>$i</td></tr></table>";
?>

em que a variável $i tem directamente todo o conteúdo que pretendes escrever.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É indiferente como já foi dito, mas para clarificar e separar o código recomendava-te a usares um sistema de templates.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tratas os dados num ficheiro completamente aparte do visual. Permite melhor organização. Carregas o visual só para descarregar a informação, usando include ou file_get_contents.

Na wiki do p@p tens exemplos. Depois tens alguns sistemas mais desenvolvidos como o code igniter, cake, symphony...

Edit:

Quanto a queres continuar a fazer dessa forma, eu prefiro a segunda, porque é de mais fácil leitura e é isso que interessa.

Só te recomendaria usar a sintaxe alternativa para tornar a leitura ainda mais fácil.

ex: http://www.phpbuilder.com/manual/en/control-structures.alternative-syntax.php

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também prefiro a segunda, agora tas a fazer echo de uma linha só quando fores para coisas mais complexas fica mais difícil de interpretar o que estas a escrever.

Com um editor decente, na segunda opção tens o syntax highlighting que te ajuda muito, imagina que tens que fazer echo de uma carrada de dados e mais tarde tens que alterar isso, ver tudo da mesma cor não ajuda em nada a rapidamente identificares o que queres alterar

Mas a separação da lógica do programa da interface é sempre a melhor opção

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também prefiro a segunda, agora tas a fazer echo de uma linha só quando fores para coisas mais complexas fica mais difícil de interpretar o que estas a escrever.

Com um editor decente, na segunda opção tens o syntax highlighting que te ajuda muito, imagina que tens que fazer echo de uma carrada de dados e mais tarde tens que alterar isso, ver tudo da mesma cor não ajuda em nada a rapidamente identificares o que queres alterar

Mas a separação da lógica do programa da interface é sempre a melhor opção

Nada como a bela da identação :confused:

Coisa por coisa, para muitos dados prefiro a opção do Nazgulled :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora