Foros del Web » Programando para Internet » PHP » Zend »

Aplicacion Modular con Zend Framework

Estas en el tema de Aplicacion Modular con Zend Framework en el foro de Zend en Foros del Web. Que tal. Estoy trabajando en una aplicación con Zend Framework. Necesito que sea modular, por lo que tengo la siguiente estructura dentro de mi proyecto: ...
  #1 (permalink)  
Antiguo 23/06/2009, 14:01
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Aplicacion Modular con Zend Framework

Que tal. Estoy trabajando en una aplicación con Zend Framework. Necesito que sea modular, por lo que tengo la siguiente estructura dentro de mi proyecto:


En donde la carpeta default es la carpeta del modulo por default. Dentro de ahi tengo un modelo en la carpeta models que maneja my ACL. Lo cargo en el Bootstrap principal del proyecto via plugin de Zend_Controller_Front para tenerlo disponible en toda la aplicación. El problema es que a la hora de instanciar mi ACL Zend no lo encuentra pórque esta buscando en la ruta /www/myAplicacion/application/models//ListaAcceso.php cuando deberia de buscar en /www/myAplicacion/application/modules/default/models/ListaAcceso.php

El codigo que carga mi ACL en /www/myAplicacion/application/bootstrap.php es:
Código PHP:
//...
protected function _initLoadAuth()
    {
        
$front Zend_Controller_Front::getInstance();
        
$front->registerPlugin(new Plugin_Acl(Zend_Auth::getInstance(), new Default_Model_ListaAcceso()));
    }
//... 
Alguien sabe como debe de estar configurado esto?
Gracias.
Edito:
Este post va en el Foro de POO
__________________
I see dead pixels

Última edición por SergeMedina; 23/06/2009 a las 15:34 Razón: El post debe de ir en POO
  #2 (permalink)  
Antiguo 23/06/2009, 15:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Tema trasladado desde PHP
  #3 (permalink)  
Antiguo 23/06/2009, 16:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Como tienes el Autoload??

Saludos.
  #4 (permalink)  
Antiguo 23/06/2009, 16:11
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

El autoload esta asi:
Código PHP:
 protected function _initAutolad()
    {
        
$autoloader = new Zend_Application_Module_Autoloader(array(
            
'namespace' => 'Default',
            
'basePath' => dirname(__FILE__)
        ));
        return 
$autoloader;
    } 
__________________
I see dead pixels
  #5 (permalink)  
Antiguo 23/06/2009, 16:25
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Será que el modulo default debe estar bajo la carpeta /www/myAplicacion/application en vez de estar en /www/myAplicacion/application/modules/default/ ?
__________________
I see dead pixels
  #6 (permalink)  
Antiguo 23/06/2009, 16:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Lo que puedes hacer es esto:
Código php:
Ver original
  1. $autoloader = new Zend_Application_Module_Autoloader(array(
  2.             'namespace' => 'Default',
  3.             'basePath' => dirname(__FILE__) . '/default'
  4.         ));

Saludos.
  #7 (permalink)  
Antiguo 23/06/2009, 20:30
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Gracias por la ayuda Gatorv. No funciono agregando default al path del autolader. Lo solucione pasando el modulo default a la carpeta de application, en base a la siguiente proposicion. Por cuestiones de tiempo lo dejo asi por ahora, sin embargo me gustaria saber si hay alguna configuración que se deba de hacer para indicar que todo el modulo default se encuentra de la carpeta especificada de modulos.

De nuevo, gracias por la ayuda.
__________________
I see dead pixels
  #8 (permalink)  
Antiguo 23/06/2009, 22:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Perdón no pude ver la imagen sería entonces así:
Código php:
Ver original
  1. $autoloader = new Zend_Application_Module_Autoloader(array(
  2.             'namespace' => 'Default',
  3.             'basePath' => dirname(__FILE__) . '/modules/default'
  4.         ));

Saludos.
  #9 (permalink)  
Antiguo 24/06/2009, 20:15
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Gracias, al final como quedo funcionando fue:

Código PHP:
application/
|-- 
Bootstrap.php
|-- configs
|   `-- application.ini
|-- controllers
|   |-- ErrorController.php
|   
`-- IndexController.php
|-- forms
|   `-- Login.php
|-- layouts
|   
`-- scripts
|       `-- layout.phtml
|-- log
|   |-- log
|   
`-- log~
|-- 
models
|   |-- ListaAcceso.php
|   `-- Users.php
|-- modules
|   |-- admin
|   |   |-- Bootstrap.php
|   |   |-- controllers
|   |   |   
`-- IndexController.php
|   |   |-- models
|   |   `-- views
|   |       |-- helpers
|   |       
`-- scripts
|   |           |-- error
|   |           |   `-- error.phtml
|   |           
`-- index
|   |               `-- index.phtml
|   |-- cliente
|   |   |-- controllers
|   |   |-- models
|   |   
`-- views
|   |       |-- helpers
|   |       `-- scripts
|   |           |-- error
|   |           |   
`-- error.phtml
|   |           `-- index
|   |               
`-- index.phtml
|   |-- spradmin
|   |   |-- controllers
|   |   |-- models
|   |   `-- views
|   |       |-- helpers
|   |       
`-- scripts
|   |           |-- error
|   |           |   `-- error.phtml
|   |           
`-- index
|   |               `-- index.phtml
|   
`-- test
|       |-- controllers
|       |-- models
|       `-- views
|           |-- helpers
|           
`-- scripts
|               |-- error
|               |   `-- error.phtml
|               
`-- index
|                   `-- index.phtml
`-- views
    
|-- helpers
    
`-- scripts
        |-- error
        |   
`-- error.phtml
        
`-- index
            |-- index.phtml
            
`-- logout.phtml 
Y el bootstrap principal no hizo falta agregarle alguna ruta extra. Gracias por la ayuda Gatorv
__________________
I see dead pixels
  #10 (permalink)  
Antiguo 24/06/2009, 21:05
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Aplicacion Modular con Zend Framework

Hola una consulta de principiante.
veo que hay un directorio controller, uno model y uno view, fuera del directorio donde estan los modulos.
para que sirven ?
  #11 (permalink)  
Antiguo 25/06/2009, 00:39
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Esos son los directorios del modulo por default. Lo configure así por que no pude configurarlo de otra manera. Encontré la propuesta de la estructura de una aplicacion modular en el wiki de Zend. Te recomiendo que le des una revisada, y comentas si tienes alguna duda.
__________________
I see dead pixels
  #12 (permalink)  
Antiguo 25/06/2009, 16:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 10 años, 11 meses
Puntos: 9
Respuesta: Aplicacion Modular con Zend Framework

Hola SergeMedina, una pregunta.
La estructura la armaste con zend tool o manualmente?
Saludos.
  #13 (permalink)  
Antiguo 26/06/2009, 19:06
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Hola Fernando.

La estructura la arme manualmente, ya que Zend Tool tiene un bug al generar el codigo de los controladores de los modulos si tienes controladores en el modulo default con el mismo nombre.
__________________
I see dead pixels
  #14 (permalink)  
Antiguo 26/06/2009, 19:50
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 10 años, 11 meses
Puntos: 9
Respuesta: Aplicacion Modular con Zend Framework

Segun lei en este mismo foro, en la version 1.8.4 que salio hace unos dias, arreglaron este problema.

Saludos.
  #15 (permalink)  
Antiguo 27/06/2009, 10:14
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 12 años, 4 meses
Puntos: 20
Respuesta: Aplicacion Modular con Zend Framework

Gracias por el dato. Seria bueno si alguien ya experimento con la nueva versión de Zend_Tool que comentará que le pareció.
__________________
I see dead pixels
  #16 (permalink)  
Antiguo 06/07/2009, 16:50
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Aplicacion Modular con Zend Framework

Hola, alguien sabe si finalmente arreglaron este bug en la version 1.8.4 ?
Saludos.
  #17 (permalink)  
Antiguo 06/07/2009, 19:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Así es, esta en el changelog de que ya esta reparado.

Saludos.
  #18 (permalink)  
Antiguo 17/07/2009, 17:33
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 15 años
Puntos: 2
Respuesta: Aplicacion Modular con Zend Framework

Lo que se pretende hacer con estos cambios es que los modelos, controladores y vistas que crea el framework por defecto en application/ los vaya a buscar dentro del directorio modules, concretamente a application/modules/default, no ?

De forma que en application/ quedarán las carpetas propias de la aplicación pero los modelos, controladores y vistas quedarán, ahora si, contenidos todos en application/modules/*

Consiguiendo una organización mucho más clara.

Esto es correcto ?
  #19 (permalink)  
Antiguo 18/07/2009, 00:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Así es, es mover el modulo default a una carpeta dentro de modules, aunque Zend Tool no genera esto, pero es posible moverlo después.

Saludos.
  #20 (permalink)  
Antiguo 18/07/2009, 15:01
 
Fecha de Ingreso: junio-2009
Mensajes: 156
Antigüedad: 10 años, 7 meses
Puntos: 3
Respuesta: Aplicacion Modular con Zend Framework

No sabía esto ultimo, el modulo default se puede mover dentro de modules?
Yo lo tengo fuera... si lo coloco dentro del directorio modules, debo hacer algun cambio en alguna parte del proyecto (application.ini, Bootstrap) o no hay que tocar nada?

Saludos.
  #21 (permalink)  
Antiguo 18/07/2009, 16:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 8 meses
Puntos: 2135
Respuesta: Aplicacion Modular con Zend Framework

Necesitas mover como indica a lo largo de todo el post el Autoloader.

Saludos.
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 23:04.