Foro de Xeoweb Foro de Posicionamiento y Buscadores
Aprendiendo a Promocionar Páginas Web.
Xeoweb :: Sindicar
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   LoginLogin 
Templates o plantillas .tpl para PHP

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Lenguajes de Programación Web
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Jorgens
Soy de Yahoo!


Registrado: 07 Mar 2004
Mensajes: 954
Ubicación: Cartagena, España

MensajePublicado: Dom Dic 06, 2009 8:34 pm    Asunto: Templates o plantillas .tpl para PHP Responder citando

Saludos compañeros.

Ya he superado lo básico de php, incluida la conexión con bases de datos, añadir, retocar y rescatar datos de ella para incorporarlos en una página, trabajar con lectura y escritura de archivos, etc. Ahora según he leido me vendrá bien para el CMS que ando haciéndome "a medida" aprender el uso de plantillas .tpl

Con eso y repito, según he entendido, quizás esté equivocado, puedo poner en el html de mis páginas algo como esto: {title} o {contenido} y automáticamente se leen esos valores de la base de datos y se incorporan a la web.

Me podéis aclarar conceptos? No encuentro mucho en la red, solo algo leible en cristalab, zonaphp, un par de libros y poco más y sigue siendo algo complicado de entender.

Que gano usando estas plantillas en lugar de leer los datos directamente de la base de datos, conectandom haciendo la consulta y rescatando valores?

Tanta definición de clases, funciones, etc... me merece la pena meterme en estas historias?

Alguna buena web para aprender?

Gracias amigos!
_________________
Jorgens
Como Crear Una Pagina Web :: El Papeleo tras un bebe
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
carlinhos1976
Vivo en Xeoweb


Registrado: 06 Oct 2006
Mensajes: 2685
Ubicación: El viejo Madrid

MensajePublicado: Lun Dic 07, 2009 9:35 am    Asunto: Responder citando

Creo que te refieres a Smarty. Smile
_________________
Sígueme en Twitter >8 -)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
JustMe
Vivo en Xeoweb


Registrado: 27 Sep 2005
Mensajes: 3063
Ubicación: Por ahí....

MensajePublicado: Lun Dic 07, 2009 3:41 pm    Asunto: Responder citando

Con todo el respeto, yo no usaría smarty. Antes yo la usaba. Si, funciona y muy bien pero no es eficiente en ningún sentido, es lenta, consume memoria en exceso y no es escalable, si el proyecto crece anda a reemplazarlo por algo más.

Un sistema de plantillas muy eficiente, quizá demasiado simple, se puede escribir en una línea:

Código:
echo str_replace(array('{header}', '{title}', '{body}'), array('header', 'title', 'body'), file_get_contents('template.tpl'));


Ahora bien, este sistema no maneja loops o ciclos, necesitas más que eso, pero es un inicio y así te vas dando cuenta de que lo que hace un "template engine" no necesita ser tan pesado como lo es smarty (y otras que andan por la web)

Lo que me recuerda la "One line template engine" publicada hace algunos meses (años) en un post en WMW, iba así:

Código:
<?php
echo preg_replace("/\{([^\{\}]*(\{?[^\{\}]*\}?)[^\{\}]*)\}/e",'((strlen(\'$2\'))? (eval("return preg_replace(array_fill(0,sizeof($"."$2),\"/\".preg_quote(\"$2\").\"/\"),$". $2,implode( array_fill(0,sizeof($"."$2),(\"$1\"))),1);")):($GLOBALS["$1"]))', file_get_contents("template.tpl"));
?>


Ejemplo de Uso:
#### template.tpl #############
Código:
<html>
<head>
<title>{title}</title>
</head>
<body>
<h1>{header}</h1>
{text}
<p>Y un LOOOOOOP</p>
<ul>
{<li>Coche {color}</li>}
</ul>
</body>
</html>


#### EL .php ######
Código:
<?php
$title = 'Un nombre para la Página';
$header ='Un título de nivel uno';
$text = 'Y este es el contenido del texto de la página. Escribe algo aquí';
$color=Array("Red","Blue","Green");
echo preg_replace("/\{([^\{\}]*(\{?[^\{\}]*\}?)[^\{\}]*)\}/e",'((strlen(\'$2\'))? (eval("return preg_replace(array_fill(0,sizeof($"."$2),\"/\".preg_quote(\"$2\").\"/\"),$". $2,implode( array_fill(0,sizeof($"."$2),(\"$1\"))),1);")):($GLOBALS["$1"]))', file_get_contents('template.tpl'));
?>



Es sólo un juguete pero funciona muy bien y vale para lo que te dije de que entiendas que es lo que hace y lo que en realidad necesitas, y es muy eficiente, no obstante, se pueden encontrar por la red otros sistemas muy eficientes y full featured sin el peso de smarty. Me gustaba particularmente uno llamado TemplatEze.

Saludos.
_________________
PHP Data uri fier
Blog Gratis
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Jorgens
Soy de Yahoo!


Registrado: 07 Mar 2004
Mensajes: 954
Ubicación: Cartagena, España

MensajePublicado: Lun Dic 07, 2009 4:49 pm    Asunto: Responder citando

Habíaleido algo de smarty en un libro. Allí lo pintaban muy bien, claro... pero si no es extradordinariamente complicado me gustaría crear un chisme de estos más personalizado y así de paso aprendo un poco más de php y estas cosas.

Esos ejemplos me vienen muy bien Justme, se agradece la molestia de veras.

Algunos de estos chismes que encontré por la red y que creo (aún ando un poco pez en esto) que es similar es NokTemplate. Os suena? Lo más extraño para mí de todo eso el definir la clase, pero bueno, poco a poco.

Estos que me comentas no usan clase, no? O es lo mismo usando otra tecnología? Lo de las clases creo que van orientados a objetos, no?

En fin, jejeje, la verdad es que conforme más me adentro en esto del php menos raro me resulta, pero al principio parecia una tarea imposible.

Voy a hacer experimentos con lo que me ofreces Justme. Os diré como me va si no os importa.

Gracias!
_________________
Jorgens
Como Crear Una Pagina Web :: El Papeleo tras un bebe
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    Foros de discusión -> Lenguajes de Programación Web Todas las horas son GMT
Respuesta Rápida y Acciones
 

 

Página 1 de 1


Cambiar a:  
Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro

 


Logo diseñado por iLevante
Powered by phpBB © 2001, 2009 phpBB Group