Temper: Kohana Template Parser
- Mar
- 24
2 comentarios! 237 palabras - 1 hits
Temper, potente e intuitivo motor de plantillas para kohanaphp
Tan solo anunciar la disponibilidad de temper, un motor de plantillas para kohanaphp, basado en Using a Stack to Parse HTML with PHP5. La idea principal del modulo es la de proveer de un lenguaje de plantillas sencillo, intuitivo y seguro.
El modulo sigue las características del framework, por lo que resulta totalmente extensible y aprovecha el sistema de ficheros en cascada.
Sintaxis
Temper soporta varios tipos de sintaxis dentro de las plantillas, para ello usa tres tipos de delimitadores, {}, {{}}, <prefix:tag></prefix:tag>
Variables
- {=variable} se convierte en <?=$variable;?>
- {=variable|funcion} se convierte en <?=funcion($variable);?>
- {foo.variable} representa un objeto o matriz
- {/path/to/} se convierte en
http://example.com/path/to/ - {/path/to/=variable/} se convierte en
http://example.com/path/to/<?=$variable;?>
Funciones
- {{echo({%foo})}} se convierte en <?php echo($foo);?>
- {{class::method({%foo}, 'arg', 'arg')}} se convierte en <?= call_user_function_array(array('class','method'), array('arg','arg'));?>
Tags
En temper los tags están representados como objetos, lo que nos permite añadir tags personalizados o incluso deshabilitar los que no necesitemos para mejorar el rendimiento del modulo.
La sintaxis de cada etiqueta varia dependiendo de los argumentos que acepta.
Por ejemplo, para incluir un bloque condicional (if elseif else)
- <ko:if var="a" eq="a">a
- <ko:elseif var="a" eq="b" />b
- <ko:elseif var="a" neq="">set
- <ko:else />not set</ko:if>
La documentación del modulo aun es algo así como inexistente, pero creo que con los ejemplos que incluye y dando una ojeada al código es suficiente para entender su funcionamiento.
El compromiso para los próximos días es añadir algo de documentación al proyecto y algún ejemplo mas “real”.
2 comentarios
# Escrito por sosa hace 2 años, 4 meses
No me quedó claro en el post: tu programaste esto? de ser así, felicidades!!
Otra cosa: No está basado en liquid, que a su vez está basado en smarty? Cual es la diferencia entre Temper y Smarty? Lo digo con buena intención, he programado en liquid pero en smarty nunca.
Ah y una última pregunta, podré adaptar esto para CakePHP?
Por cierto, ahora usas Kohana en lugar de CI?
Jaja! cuanta pregunta. Saludos!!
# Escrito por Alex Sancho hace 2 años, 4 meses
Hey, cuanto tiempo, contestando en estricto orden,
si, lo he escrito yo, basandome en el articulo de iocore.
creo que con smarty solo tiene alguna similitud en la sintaxis.
supongo que adaptarlo a cake no sera muy dificil, aunque desconozco el funcionamiento de este.
Creo que ha sido una evolucion logica, CI en algunos aspectos resulta demasiado restrictivo, y el soporte para PHP4 hace que el framework tenga alguos bytes de sobra.
Para mas adelante publicare algunos de los motivos por los que he decidido dar el salto.
@salu2