Saludos !
Estoy un poco confundido, mas que ayuda les pido su consejo y su opinion, construi una clase llamada DataTable que se encarga de hacer una tabla dinamica en HTML (con un metodo que se llama toHtmlString() ) y existe dentro de esta clase un metodo llamado toExcel() que lo que hace es poner headers de excel y llamar al metodo toHtmlString() para la construccion de la tabla.
Herede de ella e hice una clase que se llama AjaxDataTable, en el cual se construye un grid basado en la libreria extjs y aqui es donde entra la confusion...
El grid que se construye con la clase AjaxDataTable quiero que tenga una opcion de exportar los datos a excel con la funcion de la clase base toExcel(), el problema esque todo el grid que se muestra en pantalla(no como en aplicaciones desktop que puedes llamar un metodo desde un evento y cosas por el estilo) evidentemente es codigo javascript, html y tengo que llamar a otro script que reciba por sesion el objeto y mande a llamar el metodo toExcel(), (esa fue la opcion que se me ocurrio).
como ustedes podran ver... aqui se rompe la responsabilidad que cada objeto debe tener y se mezcla por ejemplo teniendo que dejar un script que tenga lo siguiente ...
Código PHP:
   if ($_GET['action'] == "exportarExcel") {
    $myGrid = $_SESSION['myGrid'];
    $myGrid->toExcel();
} 
    y en el metodo donde se construye el grid en la parte del menu tengo que poner algo como lo siguiente (que es el que atrapa el click del grid en javascript):
Código PHP:
                   $menu .= "function actual(item, e) {";
        $menu .= " var pagina = 'vista.module.php?action=exportarExcel';";
        $menu .= "    document.location.href=pagina;";
        $menu .= "}"; 
    Como ustedes podran notar.. $menu .= " var pagina = 'vista.module.php?action=exportarExcel';"; . aqui forzosamente tengo que dejar esta linea casada con la locacion del script y me parece poco util casar este detalle a la clase...
la pregunta del millon y Ustedes Como lo resolverian ??
Gracias
ATTE
Sergio Lopez
 
 


 Re: Confusion sobre responsabilidad de un objeto : Exportar a Excel un grid
 Re: Confusion sobre responsabilidad de un objeto : Exportar a Excel un grid  , pero un detalle.. tengo mi archivo AjaxDataTable.class.php (clase hija) y mi archivo DataTable.class.php(clase base), el metodo toExcel se encuentra en la clase base, el punto es que seria para mi mas adecuado que se manejara el GET en el archivo DataTable.class.php, bueno... tengo la locacion del DataTable.class.php al momento de hacer un require_once ('DataTable.class.php')  ya que extiendo de ella.
 , pero un detalle.. tengo mi archivo AjaxDataTable.class.php (clase hija) y mi archivo DataTable.class.php(clase base), el metodo toExcel se encuentra en la clase base, el punto es que seria para mi mas adecuado que se manejara el GET en el archivo DataTable.class.php, bueno... tengo la locacion del DataTable.class.php al momento de hacer un require_once ('DataTable.class.php')  ya que extiendo de ella. Re: Confusion sobre responsabilidad de un objeto : Exportar a Excel un grid
 Re: Confusion sobre responsabilidad de un objeto : Exportar a Excel un grid 
