PHP template métodos

LzO

Pues resulta que estoy aprendiendo PHP (maravillosa web la de w3schools) para así poder hacer un CMS para uso propio, es un reto que me he puesto.

Con lo que voy aprendiendo voy haciendo una "lectura" del codigo de un CMS de pago que uso en mis webs de adultos y resulta que he quedado maravillado con el metodo que usa para gestionar los templates.

El CMS tiene un sistema template muy cómodo y fácil para poder ser editado sin dificultad.

Tiene la tipica carpeta /templates/ con archivos .tmp (index.tmp, videos.tmp, contenido.tmp, media.tmp y un largo etcetera...)

Esos archivos contienen HTML puro, lo unico que se ve de PHP son algunos que otros includes, sin mas.

Entonces si yo o algun usuario publica una entrada, no aparece en portada al instante, se guarda en la base de datos y luego el cron que tiene cada 5 minutos se encarga de ejecutar monton de funciones del archivo functions.php

Esas funciones se encargan de abrir, leer y copiar los .tmp mediante implode(), guardar el contenido en una variable, consultar la BD y guardar los resultados para luego juntarlos con la variable que copió el contenido de los .tmp para, por último, escribir el resultante en el index.php y en por ejemplo /video/este-es-el-video.php

Dentro de los .tmp tambien se usan variables del tipo %%titulo%%, %%visitas%%, %%descripcion%% etc que el functions.php reemplaza por el contenido original, para ser mas comoda la edicion del template.

--

Despues de este ladrillo, a lo que voy es, ando buscando mas metodos de templates, esto de aprender PHP me ha enviciado y me gustaria conocer mas metodos que sepais, si existe algun metodo conocido o si incluso, este metodo que he explicado es algun prefabricado y no una perla que se ha currado el dueño del CMS.

Saludos.

B

Prueba smarty

J

Smarty es lento y poco escalable. Usa Codeigniter y aprovecha su estructura separada de controladores, modelos y vistas.

PiradoIV

La pena del template parser de CodeIgniter es que es bastante básico, aunque lo bueno es que si necesitas algo más, puedes pasar de él y le implementas otro =)

Usuarios habituales