Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera , tenha uma dúvida quanto ao uso do padrão MVC.
O conceito do MVC é separar a lógica do que é mostrado , então na parte da view deve ficar só o "html" , certo ?
Mas , e se eu precisar fazer um echo dentro de um campo para preencher algo ? As minhas views devem ser .php , ou estou com o conceito errado ?
Então , essa é minha dúvida ! Se a view é só VIEW , o certo seria usar .html ( isso aumenta a velocidade de processamento ?) , mas sei que da para colocar HTML em .PHP , então o normal seria colocar .php , mas não sei se seria o mais adequado.
Se você for usar PHP na view e HTML, pode por como .phtml
tanto faz a extensão.
É possível fazer arquivos .html processar códigos php. Isso é o de menos.
Não será isso que te fará fazer um MVC correto ou não.
Velocidade ? não creio que tenha muita diferença
A função da View não mostrar dados e montar o Response Body que será enviado ao navegador.
Não importa a extensão do arquivo pois no final das contas você vai iniciar a captura do buffer de saída, incluir o arquivo com o visual e montar o Response Body que será ecoado.
E o simples fato de você dar um include num arquivo fará com que toda e qualquer instrução PHP nele contida seja avaliada.
Alguns frameworks de domínio específico, como a Smarty, não incluem o arquivo .TPL e sim o obtém por funções de manípulamento de arquivos (file_get_contents() por exemplo) e em cima desse conteúdo, que aos olhos dela nada mais do que texto plano, ela interpreta as tags e produz o arquivo PHP final e este sim será incluído para que possa ser interpretado.
Se você quiser "enganar" os usuários e adicionar o .html ao final da URL sem, de fato, usar página HTML estáticas, pode fazer com .htaccess tranquilamente.
No quesito velocidade, não faz diferença nenhuma... O PHP vai ter que ler toda a página do memso jeito procurando por código para interpretar.
Você pode forçar os arquivos HTML passarem pelo PHP através do htaccess:
AddType application/x-httpd-php .html .htm
Embora eu não recomende muito fazer isso, é válido se você se incomoda tanto com a extensão phtml, que é por padrão interpretada pelo PHP. Outras bibliotecas, como o Smarty, utilizam a extensão .tpl, ou seja, a extensão não importa.
A dúvida principal já foi respondida, só queria abrir um parêntese quanto a isso:
O conceito do MVC é separar a lógica do que é mostrado , então na parte da view deve ficar só o "html" , certo ?
Errado.
As views podem ser de qualquer extensão devido à responsabilidade da manipulação de dados não ser delas. O framework deve possibilitar que você faça isso:
url.com/produtos/detalhes/1.html
<!DOCTYPE html>
<html lang="pt-BR">
<head>...</head>
<body>
<header>...</header>
<section id="main">
<h1>Nome do produto</h1>
<img src="cdn.url.com/products/product_1.png" alt="Foto ilustrativa do produto" />
<p>Descrição do produto</p>
</section>
<footer>...</footer>
</body>
</html>
url.com/produtos/detalhes/1.xml
<?xml version="1.0" encoding="utf-8"?>
<product>
<name>Nome do produto</name>
<image>http://cdn.url.com/products/product_1.png</image>
<info>Descrição do produto</info>
</product>
url.com/produtos/detalhes/1.json
{"name": "Nome do produto", "image": "http://cdn.url.com/products/product_1.png", "info": "Descrição do produto"}
e por aí vai...
Uma compreensão do Design Pattern já teria respondido a essa dúvida.
A extensão TEM que ser .php, como que seu server vai interpretar o código PHP se a extensão for .html? /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/ohmy.gif&key=3037acdff9a5e1c8075c9362e59105c1ddb47572f08d78ed5212e31878cfd5de" alt="ohmy.gif" />
Lembrando que Frameworks também trabalham com .phtml.
A extensão não faz diferença.. pode ser .html..
Depende do compilador de templates que usará.. os mais comuns interpretam o PHP usando eval(), então independente da extensão o que vale é o conteúdo do arquivo.