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

problema con autoloader en Zend

Estas en el tema de problema con autoloader en Zend en el foro de Zend en Foros del Web. Hola amigos, tengo un problema con el autoloader en Zend mi estructura de directorios es la siguiente: Código PHP: .. |  application ....... |  admin ............ |  controllers ...
  #1 (permalink)  
Antiguo 10/03/2010, 15:55
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
problema con autoloader en Zend

Hola amigos, tengo un problema con el autoloader en Zend
mi estructura de directorios es la siguiente:

Código PHP:
.. | application
....... | admin
............ | controllers
............ | forms
............ | views
....... | models
....... | public
............ | 
controllers
............ | forms
............ | views
.. | library
....... | Base
....... | Zend 
Y mi Bootstrap.php es el siguiente:
Código PHP:
<?php
    
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    
{
        protected function 
_initAutoload()
        {
            
$this->bootstrap('frontController');
            
$this->_front $this->getResource('frontController');
            
            
$autoLoader = new Zend_Loader_Autoloader_Resource(array(
                
'basePath'                => APPLICATION_PATH,
                
'namespace'                => '',
                
'resourceTypes'        => array(
                    
'form'        => array(
                        
'path'                => 'admin/forms/',
                        
'namespace'        => 'Admin_Form_',
                    ),
                    
'model'        => array(
                        
'path'                => 'models/',
                        
'namespace'        => 'Model_'
                    
)
                )
            ));
            
            return 
$autoLoader;
        }

                
/* EXISTEN OTROS METODOS PARA CONFIG DE BASE DE DATOS, LOCALE, CACHE, PERO LOS VOY A OMITIR */

        
protected function _initControllers()
        {
            
$this->_front->addControllerDirectory(APPLICATION_PATH '/admin/controllers''admin');
            
$this->_front->addControllerDirectory(APPLICATION_PATH '/public/controllers''public');
        }
Mi application.ini
Código PHP:
[production]
;
PHP Settings
phpSettings
.display_startup_errors 0
phpSettings
.display_errors 0
phpSettings
.error_reporting 8191

;Include paths
;includePaths.library BASE_PATH "/library"

;Bootstrap
bootstrap
.path APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

;Resources
resources
.frontController.env APPLICATION_ENV
resources
.frontController.throwExceptions false
resources
.frontController.defaultModule "public"
resources.frontController.defaultControllerName "index"
resources.frontController.defaultAction "index"
resources.frontController.plugins.init "Base_Controller_Plugin_Initializer"
resources.frontController.plugins.auth "Base_Controller_Plugin_Auth"

;Autoloader
autoloaderNamespaces.0 
"Base_";
autoloaderNamespaces.1 "Kohana_";

[
staging production]

[
testing production]
phpSettings.display_startup_errors 1
phpSettings
.display_errors 1

resources
.frontController.throwExceptions true

[development production]
phpSettings.display_startup_errors 1
phpSettings
.display_errors 1
resources
.frontController.params.displayExceptions 1
resources
.frontController.throwExceptions true 
Bueno tengo varios formularios dentro del modulo "admin", cuando los invoco lo hago haciendo "Admin_Form_Usuarios" por ejemplo... todo bien....

el problema es cuando se hace en el modulo "public" he creado un formulario y lo intento llamar con "Public_Form_Busqueda" o "Form_Busqueda" pero no funciona...
debo agregar algo más a mi bootstrap... o a mi application.ini ??

espero puedan ayudarme... gracias.
  #2 (permalink)  
Antiguo 10/03/2010, 16:37
mleonardom
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con autoloader en Zend

Creo que al tener a "public" como tu modulo por defecto no debes especificar Public_ intenta Form_Busqueda no mas (tanto al instanciarlo como en el mismo nombre de la clase por supuesto).
Me cuentas si funcion ....

Saludos
  #3 (permalink)  
Antiguo 10/03/2010, 16:49
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: problema con autoloader en Zend

mleonardom, gracias por responder.
Si ya intenté eso....

Cita:
el problema es cuando se hace en el modulo "public" he creado un formulario y lo intento llamar con "Public_Form_Busqueda" o "Form_Busqueda" pero no funciona...
debo agregar algo más a mi bootstrap... o a mi application.ini ??
  #4 (permalink)  
Antiguo 10/03/2010, 17:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema con autoloader en Zend

En tu autoloader no le indicas como encontrar los resources que no tienen namespace, o en dado caso los que tienen "Public_", necesitas también registrar esos autoladers para que Zend pueda detectarlos.

Saludos.
  #5 (permalink)  
Antiguo 10/03/2010, 21:08
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: problema con autoloader en Zend

GatorV, gracias por tu repuesta..
debo colocarlo en el bootstrap ???
o en donde debo hacerlo ?
  #6 (permalink)  
Antiguo 10/03/2010, 22:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema con autoloader en Zend

Así es, todas esas tareas son de tu bootstrap.

Saludos.

Etiquetas: autoloader
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 04:10.