Источник: Custom Zend_Application Resources
Автор: Rob Allen
Переводчик: Лобач Олег
Рано или поздно, вы захотите использовать Zend_Application эффективней при помощи создания собственных плагинов ресурсов. Это значительно упрощает и ускоряет начальную стадию разработки нового приложения за счет повторного использования однажды уже проделанной работы по инициализации окружения. К тому же это сделает ваш Boostrap-класс очень компактным!
В моем случае, я хотел создать ресурс для CouchDb, который проверял бы что база данных была создана, в противном случае создавал бы её.
Создание собственных плагинов достаточно просто. Очевидным местом для размещения будет library/App/Application/Resource и типичный ресурс будет выглядеть следующим образом:
class App_Application_Resource_Couchdb
extends Zend_Application_Resource_ResourceAbstract
{
/**
* Defined by Zend_Application_Resource_Resource
*
* @return Phly_Couch|null
*/
public function init()
{
// тут выполняются действия для инициализации CouchDb
$options = $this->getOptions();
// в $options находится все содержимое 'resources.couchdb' из application.ini
}
}
Вы должны уведомить Zend_Application о ваших новых плагинах. Это делается посредством одной строчки в application.ini:
pluginPaths.App_Application_Resource_ = "App/Application/Resource"
Теперь вы можете иметь столько плагинов ресурсов, сколько вам захочется, располагая их в пространстве App_Application_Resource_.
Кроме того, Matthew Weier O'Phinney написал статью о Zend_Application, которую вам обязательно стоит прочесть.
Метки: php, Rob Allen, zend framework, Zend_Application, Zend_Application_Resource, ZF1.8, перевод, разработка, советы


