我正在使用官方Zend框架文档中的密码确认验证器:
http://framework.zend.com/manual/en/zend.form.elements.html
在Bootstrap.php中,我将命名空间设置为
'namespace'=> '我的_'
该文件位于 应用/验证/ PasswordConfirmation.php
但是,“致命错误:未找到类'My_Validate_PasswordConfirmation'”出现在我的Zend_Form中。
我该怎么做才能解决问题?
答案 0 :(得分:4)
我设计并实现了Zend_Filter_Input
,包括其命名空间功能。
您对此功能的工作原理有一种了解。这意味着当该类的实际名称更长时,允许您为验证器类使用短名称。你显然正在反过来,试图命名一个名称比实际名称更长的类。
要解决此问题,我建议您执行以下步骤:
My_Validate_PasswordConfirmation
namespace=>'My_Validate'
添加到您的Zend_Filter_Input
选项。更新:我花了一些时间在这上面。似乎我的第一个想法是偏离目标。您拥有的命名空间问题与Zend_Filter_Input
的功能无关,它与Zend_Application
引导程序功能有关。您似乎可以为自动加载器指定类前缀。
这是另一个clue:
Zend_Loader_Autoloader_Resource制作 假设你是所有代码 自动加载将使用下划线 名称空间之间的分隔符 组件和类。结果是, 您不需要使用尾随 注册资源时强调 自动加载机。
所以试试这个:
'namespace' => 'My',
没有尾随下划线。