lee*_*eek 9 php zend-framework
我有一个Zend Framework应用程序结构如下:
/application
/library
/Zend
/Core
/Filter
/MyFilter.php
/Validator
/MyValidator.php
Run Code Online (Sandbox Code Playgroud)
我想将自定义过滤器和验证器放在各自的文件夹中,并在使用时自动加载.但是,我无法弄清楚如何最好地实现这一目标.
我需要以这种方式使用Zend_Filter_Input的解决方案:
$filters = array(
'month' => 'Digits',
'account' => 'StringTrim',
'other' => 'MyFilter'
);
$validators = array(
'account' => 'Alpha',
'other' => 'MyValidator'
);
$inputFilter = new Zend_Filter_Input($filters, $validators);
Run Code Online (Sandbox Code Playgroud)
我所知道的:
Bil*_*win 18
我Zend_Filter_Input在2007年设计并实施.
您可以添加新的类前缀以帮助加载自定义过滤器和验证器类.默认情况下,Zend_Filter_Input搜索具有前缀"Zend_Filter"和的前缀的类"Zend_Validate".试试这个:
$inputFilter->addNamespace('Core_Filter');
Run Code Online (Sandbox Code Playgroud)
在运行isValid()或对象的其他方法之前.
或者,您也可以在options数组中传递一个新的类前缀字符串,这是Zend_Filter_Input构造函数的第四个参数:
$options = array('inputNamespace' => 'Core_Filter');
$inputFilter = new Zend_Filter_Input($filters, $validators, $data, $options);
Run Code Online (Sandbox Code Playgroud)
另见我写的文档Zend_Filter_Input.