Tema: php y tpl
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/09/2010, 16:09
Hidek1
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: php y tpl

yo uso el mio propio.. ya que smarty trae mucha cosa que encuentro innecesaria..

Código PHP:
<?php
/**
 *
 * Sistema de Templates que enlaza PHP con las plantillas (MVC)
 *
 * Clase encargada de tomar los datos enviados desde
 * PHP en forma de array y distribuirlos sobre un archivo Template
 * El sistema toma dentro del template las palabras entre {}
 * y las reemplaza por el valor con la llave respectiva de un array asociativo
 *
 * @category MVC
 * @package H Framework
 * @subpackage Library Classes
 * @copyright Copyright (c) 2010, Hidek1 [[email protected]]
 * @license http://creativecommons.org/licenses/by-sa/2.0/cl/
 * Atribución-Licenciar Igual 2.0 Chile.
 * @since 0.1a
 *
 */

class Template
{
    
    private 
$_filename '';

    
/**
     *
     * Obtiene la ruta del archivo Template.
     *
     * @param string $filename
     * 
     */
    
public function __construct($filename)
    {
        if (
file_exists($filename)) {
            
$this->_filename $filename;
        } else {
            throw new 
Exception("Template no encotrado.");
        }
    }

    
/**
     *
     * Devuelve el template procesado con sus variables correspondientes
     * 
     * @param array $matriz
     * @return string
     *
     */
    
public function render(array $matriz = array())
    {
        if (empty(
$matriz)) {
            return 
file_get_contents($this->_filename);
        } else {
            foreach (
$matriz as $key => $value) {
                $
$key $value;
            }
            
$template file_get_contents($this->_filename);
            
$template str_replace(array('\\''\''), array('\\\\''\\\''), $template);
            
$template preg_replace('/{([a-z]\w+?)}/i'"'.$$1.'"$template);
            eval(
"\$template = '$template';");
            return 
$template;
        }
    }
}
almenos para que tengas una idea de que se puede hacer sin smarty..
saludos!
__________________
More about me...
~ @rhyudek1
~ Github