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

Varios Bootstrap en Zend Framework

Estas en el tema de Varios Bootstrap en Zend Framework en el foro de Zend en Foros del Web. Hola he intentado usar varios bootstrap en mi aplicacion (el principal y uno por cada modulo, el default y el admin) pero de esta forma ...
  #1 (permalink)  
Antiguo 18/09/2010, 17:28
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 7 meses
Puntos: 0
Varios Bootstrap en Zend Framework

Hola he intentado usar varios bootstrap en mi aplicacion (el principal y uno por cada modulo, el default y el admin) pero de esta forma se queda esperando que reaccione el servidor y pasado el tiempo maximo me sale el siguiente error:
Código PHP:
Fatal errorAllowed memory size of 134217728 bytes exhausted (tried to allocate 22 bytesin C:xamppphpPEARZendApplicationBootstrapBootstrapAbstract.php on line 122 
Si elimino el bootstrap del modulo admin funciona correctamente.
Mi pregunta es si es correcto usar varios bootstrap o deveria encarar el asunto por otro lado.
Dejo un ejemplo basico para que se entienda mi duda.

Desde ya muchas gracias.

Mi estructura modular:
--application
---------layouts
--------------default.phtml
---------models
---------modules
---------------default
--------------------controllers
--------------------views
--------------------bootstrap.php
---------------admin
--------------------controllers
--------------------views
--------------------bootstrap.php
----------bootstrap.php

mi application.ini es:
Código PHP:
[production]
phpSettings.display_startup_errors 1
phpSettings
.display_errors 1
;includePaths.library APPLICATION_PATH "/../library"
bootstrap.path APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace "Application"
resources.frontController.controllerDirectory APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions 0

resources
.frontController.moduleDirectory APPLICATION_PATH "/modules"
resources.modules[] = ""

resources.layout.layoutpath APPLICATION_PATH "/layouts"
resources.layout.layout "default"
resources.view[] = ""
[staging production]

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

[development production]
phpSettings.display_startup_errors 1
phpSettings
.display_errors 1
resources
.frontController.params.displayExceptions 
Mi bootstrap del modulo default es:
Código PHP:
<?php
class Default_Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
    protected function 
_initConfigView(){
        
$this->bootstrap('view');
        
$view $this->getResource('view');
        
$view->headTitle('SITIO');
    }
}
Mi bootstrap del modulo admin es:
Código PHP:
<?php
class Admin_Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
    protected function 
_initConfigView(){
        
$this->bootstrap('view');
        
$view $this->getResource('view');
        
$view->headTitle('ADMIN');
    }
}
Mi bootstrap de la aplicacion es:
Código PHP:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
    protected function 
_initConfigView(){
        
$this->bootstrap('view');
        
$view $this->getResource('view');
        
$view->doctype('XHTML1_STRICT');
    }
}
  #2 (permalink)  
Antiguo 18/09/2010, 18:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 288
Antigüedad: 16 años
Puntos: 2
Respuesta: Varios Bootstrap en Zend Framework

Hola Gustavo.
es correcta la idea de tener un bootstrap en cada módulo. (para inicializar cosas propias a ese modulo).
yo creo que tu application.ini está bien.

escapa un poco a mi conocimiento, pero creo que inicializar la View en cada modulo es incorrecto. Más bien, deberías recuperar la View que fue inicializada en el Bootstrap general, y simplemente modificarle lo que quieras, pero no volverla a crear.
  #3 (permalink)  
Antiguo 18/09/2010, 18:51
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Varios Bootstrap en Zend Framework

Hola. Gracias por la respuesta.
El tema era ejemplificar un poco con código. Si los 3 bootstrap estan vacios sigo teniendo el problema inicial.

Saludos
  #4 (permalink)  
Antiguo 18/09/2010, 22:27
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: Varios Bootstrap en Zend Framework

El problema es que los Bootstraps de cada módulo deben de extender a Zend_Application_Module_Bootstrap y no a Zend_Application_Bootstrap_Bootstrap ya que eso causa que se cree un ciclo infinito al intentar ver que bootstraps ya se ejecutaron y por ende te marca ese problema.

Saludos.
  #5 (permalink)  
Antiguo 19/09/2010, 08:00
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Varios Bootstrap en Zend Framework

Gracias GatorV.
Se me habia pasado eso.

Ahora una pregunta. En el ejemplo que puse arriba "traje" la view para poder agregarle en realidad css, js particulares a cada modulo. Se me ocurrió hacerlo desde los bootstrap pero me tira el siguiente error:
Código PHP:
Fatal errorUncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Resource matching "view" not found' in ............................... 
Cuando comento el contenido de las funciones _initConfigView() de ambos bootstrap de los modulos funciona correctamente.

Entonces, lo ideal para hacer esto es configurar la view desde el bootstrap principal (como me decia maue75) o hay algun otro método.

Muchas Gracias.
Saludos.
  #6 (permalink)  
Antiguo 19/09/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: Varios Bootstrap en Zend Framework

Muy raro, que versión de Zend manejas? Ya que a mi me funciona correctamente...
  #7 (permalink)  
Antiguo 19/09/2010, 22:18
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: Varios Bootstrap en Zend Framework

Adicionalmente debes de saber que todos los bootstraps se ejecutan en cada inicio de la aplicación, si quieres tener un código específico por cada módulo lo tienes que mover a un plugin y ejecutarlo en el routeStartup o preDispatch.

Saludos.
  #8 (permalink)  
Antiguo 20/09/2010, 08:58
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Varios Bootstrap en Zend Framework

La version que uso es la 1.10.8.
  #9 (permalink)  
Antiguo 20/09/2010, 10:21
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: Varios Bootstrap en Zend Framework

Tienes razón no puedes leer el view desde los bootstraps del módulo, pero como te comento, para lo que quieres hacer no te va a funcionar, es necesario usar un plugin para cambiar todo eso ya que la única forma de hacerlo es en el preDispatch ya que el Router encontro el módulo a utilizar.

El bootstrap es para tareas de inicialización exclusivamente.

Saludos.
  #10 (permalink)  
Antiguo 20/09/2010, 10:52
 
Fecha de Ingreso: marzo-2006
Mensajes: 47
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Varios Bootstrap en Zend Framework

Muchas Gracias por la ayuda

Etiquetas: framework, php
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 13:25.