Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2008, 17:05
turbex
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 4 meses
Puntos: 1
Exclamación necesito ideas y ayuda... CLASES PHP5

holas... les comento un poco lo que estoy haciendo...

no tengo muchos conocimientos sobre PHP, conozco lo más básico se podría decir...
y estoy intentando hacer un mini "framework" -por así decirlo-,
la primera versión que hice utilizaba una clase para plantillas llamada TemplatePower (simple y útil), soportaba lo que le dicen Routing, tenía patrón MVC, en fin... esta vez quise mejorarlo un poco, másque todo el sistema de plantillas...

cómo ya muchos amigos míos a los que le di este mini "framework" se acostumbraron a usar el sistema de plantillas... pero como en la nueva versión quise cambiarlo por un motor similar a Smarty llamado Open Power Template, es muy similar la verdad... pero se me ocurrió algo...
poder hacer que el desarrollador escoja el motor de plantilla de la siguiente manera...

archivo de configuración de la aplicación:
Código PHP:
$config['view_driver'] = 'smarty'
este es un ejemplo de un controlador:
Código PHP:
class homeController extends Controller
{
    const 
defaultAction 'index';

    public function 
__construct()
    {
        
//requerido
        
parent::__construct();
    }

    public function 
index()
    {
        
$this->view->load('plantilla.tpl');
    }

'$this->view', es un objeto donde se guarda la clase que se encarga de manejar los TPL
ahora... los que conocen smarty... saben que al final se pone la plantilla cierto... osea algo asi:
$smarty->render('plantilla.tpl') //creo que asi se llama el método...
entonces... como creen que sea mejor... extender la clase Smarty y poner en $this->view...

o definir una clase principal que tiene funciones parametradas para cargar los drivers de plantillas... lo cual parametraría y limitaria un poco los metodos de las clases....

osea solo se podría usar así:
$this->view->load('plantilla') cargar la plantilla
$this->view->assign($k, $v) asignar
$this->view->massign($arr) asignar datos de un arreglo
$this->view->insert($var, $file) insertar un template en una variable
etc....

eso parametraría un poco la forma de funcionar la clase View, y podría utilizarse diversos drivers (motores de plantillas) pero como les digo... limita un poco los metodos de cada driver....

otro sería extenderlo solamente y hacer que se cargue en esa variable $this->view, y ahi si cada driver tendria sus propios metodos, cada uno distinto del otro...

que les parece mejor??