Foros del Web » Programando para Internet » PHP »

Cargador de plantillas en 3 líneas

Estas en el tema de Cargador de plantillas en 3 líneas en el foro de PHP en Foros del Web. ¿Has entrado porque te ha impactado el título? Haces bien xD. Os traigo una pequeña función PHP que sirve para cargar plantillas. La gracia está ...
  #1 (permalink)  
Antiguo 20/03/2008, 10:04
 
Fecha de Ingreso: febrero-2007
Mensajes: 74
Antigüedad: 17 años, 2 meses
Puntos: 1
Cargador de plantillas en 3 líneas

¿Has entrado porque te ha impactado el título? Haces bien xD.

Os traigo una pequeña función PHP que sirve para cargar plantillas. La gracia está en que sólo ocupa 3 líneas (incluso se podría poner en menos, pero haría el código más ilegible). La función es esta:

Código PHP:
function CargarPlantilla$archivo$variables ) {

   
$plantilla file_get_contents"./plantillas/$archivo.txt" );
   
$plantilla preg_replace('/\{\$([\w_]*?)\}/'$variables[${1}], $plantilla);
   return 
$plantilla;


Y su utilización es la siguiente:

Tenemos una carpeta "plantillas" en el root de nuestro servidor, y en su interior un archivo "bienvenida.txt" con el siguiente contenido:
Cita:
<html>
<head>
<title>{$titulo}</title>
</head>
<body>
{$mensaje}
</body>
</html>
Entonces, para cargarla, sólo tendríamos que hacer esto en nuestro "index.php":
Código PHP:
<?php

//Obviamente, podríamos tener esta funcion en un fichero separado
function CargarPlantilla$archivo$variables ) {

   
$plantilla file_get_contents"./plantillas/$archivo.txt" );
   
$plantilla preg_replace('/\{\$([\w_]*?)\}/'$variables[${1}], $plantilla);
   return 
$plantilla;

}
//-------------------

$variables = array(
      
'titulo' => 'Mi pagina web',
      
'mensaje' => 'Esta es una página de bienvenida',
      );

$contenido CargarPlantilla('bienvenida'$variables);

echo 
$contenido;

?>
Tal vez sea algo demasiado básico, pero creo que puede ayudar a más de uno. Ya existen muchos scripts que realizan esta tarea, pero este es muy smple y fácil de entender.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:53.