Saturday, February 12, 2011

Simplate, um novo Template Engine para PHP

Depois de um ano incubando, usando e amadurecendo o Simplate, temos o prazer de compartilhá-lo com a comunidade liberando ele sob a licença GPLv3.

O Menos Intrusivo no HTML

O menos intrusivo possível no HTML criado pelo designer e/ou HTMLer. Os seus comandos preservam a estrutura e conteúdo (placeholders) do mesmo. Isto significa que o layout, mesmo depois de receber os códigos simplate, continua totalmente navegável, da mesma forma como foi criado;Mantém a correspondência linha a linha com o HTML original. Nenhuma tag acrescentada, nenhuma tag retirada. Sempre!;A codificação Simplate pode ser aberta diretamente pelo navegador, independente de servidor. Neste caso, o HTMLer/Designer deverá ver exatamente aquilo que ele havia gerado incluindo os placeholders – conteúdo de enchimento para ilustrar seu layout com conteúdoDiminui consideravelmente os erros de montagem do HTML pois os programadores, HTMLers e Designers encontrarão um código muito mais limpo e familiar para ajudar na depuração. E os HTMLers e Designers verão o seu próprio código com apenas alguns atributos a mais em algumas tags.

Separação do Layout da Lógica

O Simplate possui um número reduzido de comandos que realmente evita o aparecimento de lógica de programação no template codificado. Por exemplo, o Simplate não possui o comando IF. Caso seja necessário saber se um bloco deve ou não aparecer, pode-se utilizar o próprio comando bind. Um bind em qualquer valor nulo ou indefinido fará com que o bloco do mesmo não apareça.
Na verdade o bind serve para muita coisa:

Simplate não tem include, pois um bind em um objeto Simplate inclui outro template;Simplate não tem IF, pois um bind em um valor nulo ou não pode fazer um bloco sumir ou não; eSimplate não tem For, pois um bind em um Iterador, provoca a repetição.

Premissas do Desenvolvimento Simplate

Os comandos Simplate devem preservar o HTML original, mantendo conteúdo e a forma do mesmo; eMantenha o Simplate simples!

Resumo dos comandos e funcionalidades da versão

bind – obtém o valor referenciado o substitui o conteúdo da tag no caso de scope=inner, ou sobre a própria tag, no caso de scope=outer. Caso o valor seja nulo, a tag é retirada;as – Utilizado em conjunto com o bind em um objeto iterador. Provoca a repetição do conteúdo no caso de scope=inner ou repete a própria tag com scope=outer;#[nome_atributo] – Utilizado em conjunto com o bind em um objeto, obtém o atributo do objeto de mesmo nome e substitui no atributo correspondente da tag.show – Mata a tag caso o valor seja nulo. Útil para ser utilizado no lugar do bind, quando o objetivo não é substituir o conteúdo da tag pelo valor referenciado.MasterPage – Pemite que uma página defina uma estrutura que será compartilhada por várias outras páginas/templates.

Download

O Simplate pode ser obtido na seguinte página: http://www.simplate.org/node/14
Para conhecer mais o Simplate Acesse: http://www.simplate.org/

Marcadores: , ,

0 comments:

Post a Comment