PHP e html, como não misturar?

PHP

Front-end

01/02/2016

Boa tarde a todos, espero que estejam bem.

Eu vejo bastante código html e php misturado, principalmente em formularios, nesse caso especifico, tem como separar, como?
Karine Sobral

Karine Sobral

Curtidas 0

Melhor post

Jothaz

Jothaz

02/02/2016

Já vi muitas discussões sobre este assunto é nuca vi um consenso sobre a questão, mas a maioria não considera uma boa prática a mistura. Não sou usuário assíduo do PHP, mas vou dar um pitaco, levando em consideração o pouco que si.

[url:descricao=PHP é um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page]https://pt.wikipedia.org/wiki/PHP[/url] então de certa forma é usual misturar do PHP com HTML. Acho que esta prática foi dissiminada, por exemplo, nos arquivos de template do Wordpress, que misturam HTML e PHP.

Sempre que possível gosto de adotar um princípio no design de software chamado "separation of concerns" ([url:descricao=Separação de conceitos]https://pt.wikipedia.org/wiki/Separa%C3%A7%C3%A3o_de_conceitos[/url]), que determina que cada parte do sistema se preocupe com uma coisa apenas.

Este princípio determina a separação em partes do seu código, assim uma parte cuida da apresentação, outra da estrutura do que está sendo apresentado, outra e cuida do conteúdo apresentado, e você pode ter ainda partes distintas para cuidar da lógica de apresentação e da lógica de negócio.

O maior problema com a mistura é dificultar manutenções futuras, o ideal seria usar arquitetura MVC, separando seu model, controller e view.

Agora é mais fácil falar que fazer. Aconselho usar o bom senso e tentar na medida do possível seraprar. Quando não for possível separar, principalemente na apresentação, tente ser o mais clean que der para ser.

Ou partir para framework´s como foi dito, já ouvi muitos elogios ao twig citado pelo William. E também já vi referências a uma biblioteca chamada Smarty.

Acho notável sua preocupação, pois a grande maioria dos iniciantes fazer um verdadeira lambança nos códigos.
GOSTEI 1

Mais Respostas

Claudio Lopes

Claudio Lopes

01/02/2016

Karine, Separar acho que não, principalmente no modelo procedural. No entanto para os modelos orientado a objetos, e principalmente utilizando frameworks, você consegue ter algo com uma organização muito melhor dos que os <?php?> dentro dos html.

Atualmente eu uso o Codeiginter, e ele tem como usar o template parser (https://ellislab.com/codeigniter/user-guide/libraries/parser.html) o qual você teria algo como isso

<html>
<head>
<title></title>
</head>
<body>
<h3></h3>

<h5></h5>
<p></p>
{/blog_entries}
</body>
</html>
GOSTEI 0
William

William

01/02/2016

GOSTEI 0
Karine Sobral

Karine Sobral

01/02/2016

A separação só funciona com ajuda de Frameworks senhores?
GOSTEI 0
Karine Sobral

Karine Sobral

01/02/2016

Bem exposto o que disse Jothaz, infelizmente é ensinado assim e aprendido tambem, depois é que sabemos que quando as "coisas" crescem, vai ficar feio, de entender, até de achar.
GOSTEI 0
Jothaz

Jothaz

01/02/2016

Fico feliz de um post fugir da mesmice, pois o padrão dos posts aqui é querer fazer sem querer aprender.

Lhe dou o parabéns por querer aprender e principalmente aprender da melhor forma possível.
Você terá êxito na sua vida profissional se continuar com esta postura.
GOSTEI 1
Karine Sobral

Karine Sobral

01/02/2016

Penso nisso, depois que me dei conta, vi alguns comentarios em posts(criticas), muitos Jothaz não se dão conta sobre as melhores praticas em PHP, como disse, praticamente não é ensinado, raros são os posts que encontramos.
GOSTEI 0
Marcio Araujo

Marcio Araujo

01/02/2016

Bem exposto o que disse Jothaz, infelizmente é ensinado assim e aprendido tambem, depois é que sabemos que quando as "coisas" crescem, vai ficar feio, de entender, até de achar.


Pois é, ensina-se de um jeito mas o correto é de outra forma.
GOSTEI 1
Claudio Lopes

Claudio Lopes

01/02/2016

Bem exposto o que disse Jothaz, infelizmente é ensinado assim e aprendido tambem, depois é que sabemos que quando as "coisas" crescem, vai ficar feio, de entender, até de achar.


Pois é, ensina-se de um jeito mas o correto é de outra forma.



Tive o mesmo problema...... vários canais para ensinar de formas diferentes....
GOSTEI 1
Marciano Santana

Marciano Santana

01/02/2016

Tenho dificuldades, infelizmente como já foi dito, me parece que não existe padrão ou como o Din citou, ensinou de diversas formas.
GOSTEI 0
Marcio Araujo

Marcio Araujo

01/02/2016

Infelizmente isso é comum com o PHP.
GOSTEI 0
Jothaz

Jothaz

01/02/2016

O problema é que a imensa maioria dos "mestres" que existem por ai na Web não sabem nada, ou sabem o básico do básico.

Vejo muitos posts aqui com curso, dicas e receitas que na maioria das vezes e a repetição de um mesmo tema e não agrega nada no aprendizado, mas ainda acho que é melhor termos muita informação e selecionarmos do que não ter informação nenhuma. A dica é sejam críticos, tenham bom sendo e não acreditem em nada principalmente se esta na internet.

Como toda linguagem é de certa forma laica, você tem várias forma de fazer a mesma coisa.

Isto é comum a quase a todas a linguagens, se você não conhecer acaba fazendo um de barbaridade e lambança. E o pior que funciona, então é difícil argumentar de que não é a melhor forma, pois vai sempre escutar "mas esta funcionando e é simples".

O caminho é tentar buscar aprender e discutir e principalmente não se conformar se entender o porque.
GOSTEI 1
Karine Sobral

Karine Sobral

01/02/2016

Verdade Jothaz, é assim mesmo, temos que ir atras.
GOSTEI 0
Marcio Araujo

Marcio Araujo

01/02/2016

pois vai sempre escutar "mas esta funcionando e é simples".


O que mata é isso tambem, se ta funcionando, deixe como está, sempre se vê assim.
GOSTEI 0
Karine Sobral

Karine Sobral

01/02/2016

Para tentar finalizar a discussão, que realmente foi boa, bastante produtiva, não podemos esperar muito desses cursos, a alternativa é: pesquisas por conta propria e foruns como este.
GOSTEI 1
Marcio Araujo

Marcio Araujo

01/02/2016

Sempre que posso gosto de interagir, tento ajudar e perguntar em foruns.
GOSTEI 0
POSTAR