Php Zend框架中的自定义过滤器/验证器
我有一个Zend Framework应用程序结构,如下所示:Php Zend框架中的自定义过滤器/验证器,php,zend-framework,Php,Zend Framework,我有一个Zend Framework应用程序结构,如下所示: /application /library /Zend /Core /Filter /MyFilter.php /Validator /MyValidator.php 我想把自定义过滤器和验证器放在各自的文件夹中,并在使用时自动加载它们。然而,我不知道如何最好地完成这一点 我需要以这种方式使用Zend_Filter_输入的解决方案: $f
/application
/library
/Zend
/Core
/Filter
/MyFilter.php
/Validator
/MyValidator.php
我想把自定义过滤器和验证器放在各自的文件夹中,并在使用时自动加载它们。然而,我不知道如何最好地完成这一点
我需要以这种方式使用Zend_Filter_输入的解决方案:
$filters = array(
'month' => 'Digits',
'account' => 'StringTrim',
'other' => 'MyFilter'
);
$validators = array(
'account' => 'Alpha',
'other' => 'MyValidator'
);
$inputFilter = new Zend_Filter_Input($filters, $validators);
我已经知道:
- Core_Filter_MyFilter实现Zend_Filter_接口
- 显然,过滤器和验证器已经在我的include路径中了
Zend\u Filter\u Input
您可以添加新的类前缀,以帮助加载自定义筛选器和验证程序类。默认情况下,Zend\u Filter\u Input
搜索前缀为“Zend\u Filter”
和“Zend\u Validate”
的类。试试这个:
$inputFilter->addNamespace('Core_Filter');
在运行对象的isValid()
或其他方法之前
或者,您也可以在选项数组中传递一个新的类前缀字符串,第四个参数是Zend\u Filter\u Input
构造函数:
$options = array('inputNamespace' => 'Core_Filter');
$inputFilter = new Zend_Filter_Input($filters, $validators, $data, $options);
另请参见我为
Zend\u Filter\u输入编写的
非常好!我花了好几个小时阅读文档,但我一定错过了提到的内容。非常感谢。这就是所谓的“给定问题的最终答案”:@BillKarwin,文档链接断开了。你能提供一个更新吗?@FopaLéonConstantin,我已经修复了链接。