Em relação aos modelos PHP, é realmente mais fácil falar do que fazer. Provavelmente existem mais de 20 opções aleatórias, e só a pêra contém 5 modelos diferentes, o que é realmente uma dor de cabeça.
Não siga apenas a opinião dos outros e diga que esta é boa e aquela é ruim. Antes de escolher um modelo, é melhor primeiro entender qual é o verdadeiro propósito do modelo. Simplificando, o objetivo principal de um modelo é o trabalho em equipe. Existem duas formas principais de funcionamento:
1. Separar HTML e PHP torna a cooperação entre web designers e programadores PHP mais agradável.
2. Separar a lógica de exibição e a lógica de transação torna mais fácil e flexível alterar a lógica de transação principal e expandir aplicativos, o que significa que torna a cooperação entre programadores mais agradável. (Este ponto é muitas vezes esquecido ou mal compreendido pelas pessoas. Eles sempre pensam que tirar o PHP do HTML é chamado de separar a lógica de exibição da lógica de transação. Se for esse o caso, por que se preocupar em misturar PHP e HTML em primeiro lugar?)
Descubra o propósito real deste modelo O que é, será mais fácil fazer a escolha certa.
Se você é o único programador PHP, mas precisa trabalhar em conjunto com outros web designers, escolha um modelo que possa separar HTML e PHP, phplib (agora parece estar integrado ao Pear http://pear.php.net /package/HTML_Template_PHPLIB ) ou
FastTemplate é algo assim, muito simples e fácil de usar.
Se a interface do seu site é feia e é executada principalmente por programadores, mas as funções são mais complexas e exigem funções de extensão poderosas, e você precisa separar vários níveis, incluindo lógica de exibição, então não use nada de especial, o PHP em si é o melhor modelo . Deve-se observar que, neste caso, você deve projetar seu programa com muito cuidado, e sempre lembrar de separar não PHP e HTML, mas sim lógica de negócios e lógica de apresentação. É por isso que sempre fui muito resistente a coisas como o Smarty, porque a sintaxe do Smarty é muito complexa e poderosa, quase reinventando uma linguagem de script (até os programadores PHP têm que reaprender). O que é ainda mais intrigante é que quanto mais poderoso for esse script, mais fácil será para as pessoas misturar lógica de negócios e lógica de apresentação, destruindo a intenção original do modelo.
Se você deseja separar HTML e PHP e obter um design visual melhor, mas também deseja que todo o sistema tenha recursos de expansão muito poderosos que possam se adaptar a várias interfaces de html, xml e wml sem ter que aprender sintaxe complexa e, ao mesmo tempo, fornecer uma maior nível de eficiência operacional, então esta é uma questão bastante desafiadora. A má notícia é que atualmente não existe um modelo maduro que possa realmente atender a esses requisitos. A boa notícia é que não é difícil concluir esse modelo. Se você tentar o Zope ou o ColdFusion, encontrará a sombra desse modelo.
(wact http://wact.sourceforge.net/ e phptal http://phptal.sourceforge.net/ estão se desenvolvendo nessa direção e devem ser muito promissores).
Existem duas maneiras principais de combinar modelos e dados (chamada de modelo): método push e método pull.
A maneira de enviar é usar PHP para enviar dados para o modelo, o que significa que o programador precisa atribuir explicitamente um valor a cada variável no modelo e amarrá-los.
O método de extração é como misturar php e html. As variáveis no modelo extraem ativamente os dados.
Falando em modelos, temos que mencionar duas outras coisas:
phphtmllib e quickform ( http://pear.php.net/package/HTML_QuickForm ). Essas duas coisas usam métodos tradicionais para completar o HTML por meio de vários componentes da página. página está completamente nas mãos do programador Talvez muitos programadores que escreveram programas de desktop GUI tradicionais prefiram esse método.
Uma solução mais bonita
Se você está fazendo software comercial, o Flash deveria ser uma solução mais bonita (não me interpretem mal, não pense que só porque você sabe que o PHP suporta bibliotecas ming e swf pode gerar Flash dinamicamente, não é isso que Estou falando.) O que eu quero dizer É uma solução que suporta Flash Remoting. Esse tipo de coisa é a combinação verdadeiramente significativa de PHP e flash. O designer visual completa a parte do flash, e o programador PHP envia os dados para o cliente feito de flash através do flash remoting.
Atualmente existem duas soluções:
AMFPHP
Como o Macromedia Flash Remoting usa um formato de dados exclusivo e mais eficiente ao transmitir dados, o AMFPHP constrói o formato de dados correspondente no lado do servidor analisando o formato dos dados PHP. classe para receber, analisar e codificar esses dados para cumprir a função de troca de informações (assim como o Samba, deveria ser uma espécie de Hacking).
PHPObject
http://ghostwire.com/resources/phpobject/
PHPObject usa outro método para transmitir dados através de sabonete de formato aberto, incorporando alguns componentes do actionscript no flash.
Na verdade, há muitos outros problemas envolvidos nos modelos PHP, e só consigo escrever até certo ponto.