Como funciona o bootstrap de módulo para o módulo padrão?
-
23-09-2019 - |
Pergunta
Eu configurei meu aplicativo com dois módulos, um para administrador e outro para o restante do aplicativo chamado Padrão. Depois, criei um arquivo de bootstrap para o módulo de administrador e, quando tentei definir o bootstrap para o módulo padrão, tenho um loop inifito e minhas falhas no Apache.
Não tenho certeza se entendo completamente a dinâmica do bootstrap. Originalmente, tentei inicializar meu módulo padrão para obter acesso aos meus formulários dentro de sua pasta. Mas só trabalhe se eu o configurar no bootstrap localizado no aplicativo root (aplicativo/bootstrap.php) com isso:
$moduleLoader->addResourceType('form','modules/default/forms/','Form');
Eu fiz algo errado?
Solução
Parece que houve um bug/aprimoramento aberto com Zend para esse problema. A citação relevante do bug:
O motivo pelo qual o módulo padrão é ignorado é porque o caso de uso documentado - particularmente como configuramos um aplicativo em Zend_tool - é que o módulo padrão está diretamente abaixo do aplicativo/ e contém o bootstrap de aplicativo. Se permitirmos carregar o bootstrap do módulo padrão ... entramos em um loop recursivo.
O bug agora está resolvido, então você pode precisar atualizar sua estrutura ZEND para a versão mais recente.
Outras dicas
O ZF carrega por algum motivo estranho de todos os módulos Bootraps em uma solicitação (mesmo que os módulos não estejam sendo solicitados)
Então, talvez você tenha alguns conflitos com o módulo de administrador e padrão.
Para o módulo Bootraps, também carregue, adicione seu .ini
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""
E bootstrap.php
classe Modulename_Bootstrap
estende -se Zend_Application_Module_Bootstrap{}