Показаны сообщения с ярлыком zend framework. Показать все сообщения
Показаны сообщения с ярлыком zend framework. Показать все сообщения

2.09.2010

Автозагрузка библиотек модуля в ZendFramework


class Core_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initModule(){
$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'namespace' => '',
'basePath' => dirname(__FILE__),
));
$resourceLoader->addResourceTypes(array(
'library' => array(
'path' => 'library',
'namespace' => 'Core_'
)
));
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader($resourceLoader);
}
}

Теперь в других модулях можно пользоваться библиотекой модуля Core, например:
$oElement = new Core_Form_Element_Image(); // extends Zend_Form_Element_File
для создания элемента формы с загрузкой(и предпросмотром уже загруженного) файла изображения.

8.11.2009

ZF: Добавление маршрутов при загрузке модуля

Редактируем файл application/modules/captcha/Bootstrap.php

class Captcha_Bootstrap extends Zend_Application_Module_Bootstrap {
protected function _initModule(){
$oRouter = $this->getApplication()->frontController->getRouter();
$oRouter->addRoute('captcha', new Zend_Controller_Router_Route_Static('captcha', array(
'module' => 'captcha',
'controller' => 'index',
'action' => 'generate'
)));
}
}

P.S. Bootstrap'ing модулей будет происходит автоматически при подключении ресурса Modules из ZF(например из application.ini: resources.modules[] = "")