Hola a todos,
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 originalresources.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 originalclass Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoLoad()
{
$autoLoader = new Zend_Application_Module_Autoloader
(array( 'namespace' => 'Default_',
'basePath' => APPLICATION_PATH . '/modules/default'
));
return $autoLoader;
}
}
/application/modules/default/plugins/ViewHelpers.php
Código PHP:
Ver originalclass 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