Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/04/2012, 11:06
Avatar de McBlink
McBlink
 
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: Dudas, "Framework" Casero..

Gracias masterpuppet, a ver si entiendo.. creo que de esa forma que me acabas de decir, le estoy pasando la variable a mi archivo Template, pero no a la vista o el contenido que le voy a cargar al Template, o estoy equivocado?

Esta es mi clase:

Código PHP:
Ver original
  1. <?php
  2.     class Template {
  3.  
  4.         protected $file;
  5.         protected $values = array();
  6.        
  7.  
  8.         public function __construct($file)
  9.         {
  10.            
  11.             if ( file_exists($file) )
  12.             {
  13.                 $this->file = $file;
  14.             }
  15.             else
  16.             {
  17.                 throw new Exception("Template not found: $file");
  18.             }        
  19.         }
  20.  
  21.         public function set($key, $value)
  22.         {
  23.             $this->values[$key] = $value;
  24.         }
  25.  
  26.         public function output()
  27.         {
  28.             $output = file_get_contents($this->file);
  29.            
  30.             foreach ($this->values as $key => $value)
  31.             {
  32.                 $data = ( file_exists($value) ) ? $this->parse($value) : $data;
  33.                 $output = str_replace('{'.$key.'}', $data, $output);
  34.             }
  35.             return $output;
  36.         }
  37.        
  38.         function parse($file)
  39.         {
  40.             ob_start();
  41.             include($file);
  42.             $buffer = ob_get_contents();
  43.             ob_end_clean();
  44.             return $buffer;
  45.         }
  46.     }
  47.  
  48. ?>

Y la implemento de la siguiente forma:

Código PHP:
Ver original
  1. $layout = new Template('templates/default.php');
  2.     $layout->set('title', 'Titulo de la Pagina' );
  3.     $layout->set('contenido', 'home.php' );
  4.     echo $layout->output();

De como que al archivo default.php (mi plantilla) le paso parametros como el titulo y ademas le paso otro archivo, por ejemplo el home.php.

Bien, yo necesitaría en este caso poder hacer llegar hasta el home.php los registros o alguna variable tipo array() que contenga mas de un dato para ese archivo..

Gracias!