Tengo un problema/duda con respecto al autoloading de recursos con ZF, actualmente tengo una aplicacion modular en la que necesito registrar un plugin y lo hago de esta manera:
/application/config/application.ini
Código PHP:
Ver original
resources.modules[] = "" resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" resources.frontController.params.prefixDefaultModule = 1 resources.frontController.params.displayExceptions = 0 resources.frontController.plugins.ViewHelpers = "Default_Plugin_ViewHelpers"
/application/Bootstrap.php
Código PHP:
Ver original
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoLoad() { 'namespace' => 'Default_', 'basePath' => APPLICATION_PATH . '/modules/default' )); return $autoLoader; } }
/application/modules/default/plugins/ViewHelpers.php
Código PHP:
Ver original
class Default_Plugin_ViewHelpers extends Zend_Controller_Plugin_Abstract { /** * Colocar los valores de la vista */ public function preDispatch() { $view = Zend_Layout::getMvcInstance()->getView(); $view->doctype('XHTML1_STRICT'); $view->headTitle('Bazaar') ->setSeparator(' | '); $view->headMeta()->appendHttpEquiv('Content-type', 'text-html; charset=UTF-8') ->appendName('description', 'Aplicacion para control de compras y ventas de mercancia') ->appendName('keywords', 'bazaar, compras, ventas, aplicacion'); } }
Todo funciona correctamente, pero tenia entendido que a partir de ZF 1.8 no habia necesidad de utilizar Zend_Application_Module_Autoloader en el Bootstrap ya que por defecto ZF "autocargaba" los recursos cuando se necesitaban, y debe ser asi ya que en mi aplicacion puedo acceder a recursos de un modulo dentro de otro sin utilizar "require" ni algun otro metodo sin problemas.
El problema es que si elimino el metodo _initAutoLoad del bootstrap, la aplicacion no consigue el plugin Default_Plugin_ViewHelpers lo cual es extraño ya que si puedo utilizar los recursos de los demas modulos sin problemas.
Estoy haciendo algo mal? O es necesario utilizar el autoloader para registrar el plugin?
Gracias de antemano