加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:32:39 所属栏目:PHP教程 来源:网络整理
导读:我有一个Zend Framework应用程序结构如下: /application/library /Zend /Core /Filter /MyFilter.php /Validator /MyValidator.php 我想将自定义过滤器和验证器放在其各自的文件夹中,并在使用时自动加载它们.但是,我不知道如何最好地完成这个. 我需要使用Ze
我有一个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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读