Zend framework 设置默认元素装饰器

Zend framework 设置默认元素装饰器,zend-framework,zend-decorators,Zend Framework,Zend Decorators,我在应用程序路径中编写了自己的decorator,如“library/myLib/Form/decorator/Lalala.php” 现在假设使用它,比如$element->addDecorator('Lalala') 但是得到错误: 在注册表中找不到名为“Filechoose”的插件;使用的路径: Zend_Form_Decorator:Zend/Form/Decorator/ 如何设置默认元素装饰器路径。假设您的装饰器类myLib\u Form\u decorator\u lala存储在文

我在应用程序路径中编写了自己的decorator,如“library/myLib/Form/decorator/Lalala.php”

现在假设使用它,比如
$element->addDecorator('Lalala')
但是得到错误:

在注册表中找不到名为“Filechoose”的插件;使用的路径: Zend_Form_Decorator:Zend/Form/Decorator/


如何设置默认元素装饰器路径。

假设您的装饰器类
myLib\u Form\u decorator\u lala
存储在文件
library/myLib/Form/decorator/Lalala.php
中,那么我们可以按如下方式执行:

在形式层面:

$form->addElementPrefixPath(APPLICATION_PATH . '/../library/myLib/Form/Decorator', 'myLib_Form_Decorator_', Zend_Form::DECORATOR);
在要素一级:

$elt->addPrefixPath(APPLICATION_PATH . '/../library/myLib/Form/Decorator', 'myLib_Form_Decorator_', Zend_Form::DECORATOR);

假设您的decorator类
myLib\u Form\u decorator\u Lalala
存储在文件
library/myLib/Form/decorator/Lalala.php
中,那么我们可以按如下方式执行:

在形式层面:

$form->addElementPrefixPath(APPLICATION_PATH . '/../library/myLib/Form/Decorator', 'myLib_Form_Decorator_', Zend_Form::DECORATOR);
在要素一级:

$elt->addPrefixPath(APPLICATION_PATH . '/../library/myLib/Form/Decorator', 'myLib_Form_Decorator_', Zend_Form::DECORATOR);

我每次都要这么做?有什么方法可以把它放到配置或引导中吗?我从来没有找到一种方法可以在引导中做到这一点。所以我通常要做的是为我的表单创建一个基类并将其放入构造函数中(不要忘记调用
父::u construct()
,它最终调用
init()
,通常在元素枚举存在的地方)。然后,所有扩展此表单的子表单都设置了元素前缀路径“自动”。然后确定=(希望看到“是的,是的,你能”=)我每次都必须这样做吗?有什么方法可以把它放到配置或引导中吗?我从来没有找到一种方法可以在引导中做到这一点。所以我通常要做的是为我的表单创建一个基类并将其放入构造函数中(不要忘记调用
父::u construct()
,它最终调用
init()
,通常在元素枚举存在的地方)。然后,所有扩展此表单的子表单都设置了元素前缀路径“自动”。然后确定=(希望看到“yes yes u can”=)