Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Modulos - ¿metodo recursivo?

Estas en el tema de Modulos - ¿metodo recursivo? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Que tal, tengo un metodo de un objeto que se encarga de cargar modulos dentro de una página. Es decir, que se encarga de levantar ...
  #1 (permalink)  
Antiguo 03/08/2007, 13:26
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Modulos - ¿metodo recursivo?

Que tal, tengo un metodo de un objeto que se encarga de cargar modulos dentro de una página. Es decir, que se encarga de levantar de la base de datos (a traves de la capa de acceso a datos) la configuracion del modulo y a traves de la clase que se encarga de la presentacion lo imprime en la pantalla.
Ahora bien, el problema me surge cuando quiero crear un modulo dentro de otro, no me parece eficiente crear otra clase que se encargue de los submodulos porque voy a tener esa misma limitacion cuando quiera cargar un modulo en un nivel mas profundo todavia. Existe la posibilidad de que el metodo que carga los modulos, en el caso de ser necesario se llame a si mismo? y en caso contrario tienen idea de como puedo solucionar esto??

Muchas Gracias,

Topicus
  #2 (permalink)  
Antiguo 03/08/2007, 14:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Modulos - ¿metodo recursivo?

Lo que estas intentando es como un arbol donde cada rama del arbol puede tener mas arboles, es una estructura de un nodo y se puede realizar de forma facil, asi que te recomiendo que continues de la forma que lo estas haciendo, en un arreglo guarda los modulos, y aunque instancies la misma clase, debes de tener como propiedad un array de modulos aunque sea solo 1.

Saludos.
  #3 (permalink)  
Antiguo 03/08/2007, 16:26
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Modulos - ¿metodo recursivo?

ACLARACION: cuando digo padres, hijos, nietos o nodos, me refiero a modulos.

Antes que nada gracias por tu respuesta gatorV, crei que nadie iba a contestar!!
Se me ocurrio lo siguiente, empece a hacer la secuencia en que se ejecutaria la funcion y llegue a otro inconveniente.
El problema es el siguiente, siguiendo con la estructura en forma de arbol, el padre tendria que saber que hijos cargar y los hijos que nietos y asi sucesivamente. El problema que me surje es el siguiente, la clase que carga los modulos, es la que da la orden de imprimirlos, si yo imprimo un modulo con la funcion recursiva, no voy a poder anidarle nada a ese modulo(creo), porque ya esta impreso y terminaria por cargar uno tras otro.
Creo que se por donde va la solucion pero no termino de comprender como hacerlo. Tendria que, por ejemplo, los nietos le pasen sus resultados a los hijos y estos ultimos a su padre para luego imprimir el resultado total y asi cada uno tendria una responsabilidad limitada. PERO COMO???? Porque si yo imprimo a los nietos, despues los hijos van a ir debajo y no anidados.

Disculpen la dificultad de la pregunta pero me es muy dificil explicarlo siendo que no lo tengo claro.

Saludos y muchas gracias,

Topicus
  #4 (permalink)  
Antiguo 03/08/2007, 16:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Modulos - ¿metodo recursivo?

Porque no diagramas lo que quieres hacer? seria mas facil para ti entenderlo y asi explicarlo a los demas, porque todavia no termino bien de comprender lo que quieres hacer.

Saludos.
  #5 (permalink)  
Antiguo 03/08/2007, 16:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Modulos - ¿metodo recursivo?

También puedes usar el patrón de diseño Composite para manejar arbol o Jerarquías.
  #6 (permalink)  
Antiguo 03/08/2007, 17:13
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Modulos - ¿metodo recursivo?

Si es dificil de comprender, una respuesta rapida seria que lo que quiero es poder anidar modulos dentro de otros sin ningun tipo de restriccion respecto de la cantidad de niveles de anidacion. Es decir que si tengo una pagina(nivel 0), le pueda agregar un modulo columna (nivel1) y a esta modulos de noticias (nivel2) y asi sucesivamente y esto poder hacerlo con una funcion generica que sea algo asi como:

crearPagina (1);

Esta recoja de la base de datos los modulos a cargar, luego que cada modulo, selecciones sus submodulos y asi para construir toda la pagina dinamicamente. Lo que no quiero es verme restringido con construcciones estaticas donde unicamente se vuelca la informacion, sino que quiero determinar a traves de la configuracion en guardada en la base de datos como se va a construir esa pagina.

Me gustaria tener una orientacion, si esta bien por este camino, si voy mal, como te parece que lo tengo que plantear, etc. Cualquier aporte sera bien recibido.
  #7 (permalink)  
Antiguo 03/08/2007, 18:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Modulos - ¿metodo recursivo?

Porque no le das una leida a lo que te sugirio zsamer? el Patron Composite se encarga de eso.

Saludos.
  #8 (permalink)  
Antiguo 03/08/2007, 20:16
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Modulos - ¿metodo recursivo?

Muchas gracias, voy a investigar por esa linea.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:21.