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!