php – Zend Framework中的自定义过滤器/验证器

前端之家收集整理的这篇文章主要介绍了php – Zend Framework中的自定义过滤器/验证器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Zend Framework应用程序结构如下:
/application
/library
    /Zend
    /Core
        /Filter
            /MyFilter.PHP
        /Validator
            /MyValidator.PHP

我想将自定义过滤器和验证器放在其各自的文件夹中,并在使用时自动加载它们.但是,我不知道如何最好地完成这个.

我需要使用Zend_Filter_Input解决方案:

$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_Interface
>显然,过滤器和验证器已经在我的包含路径中.

我在2007年设计并实施了Zend_Filter_Input.

您可以添加新的类前缀来帮助加载自定义过滤器和验证器类.默认情况下,Zend_Filter_Input搜索具有前缀“Zend_Filter”和“Zend_Validate”的类.尝试这个:

$inputFilter->addNamespace('Core_Filter');

在运行isValid()或其他方法的对象之前.

或者,您还可以在options数组中传递一个新的类前缀字符串,Zend_Filter_Input构造函数的第四个参数:

$options = array('inputNamespace' => 'Core_Filter');
$inputFilter = new Zend_Filter_Input($filters,$validators,$data,$options);

另见我为Zend_Filter_Input写的documentation.

猜你在找的PHP相关文章