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.
Novidades Trazidas pelo Simplate ao mundo do Template Engine para PHP.
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údo
- Diminui 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; e
- Simplate 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; e
- Mantenha 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/