php - mac - zend framework pdf
Filtros/Validadores personalizados en Zend Framework (1)
Tengo una estructura de aplicación de Zend Framework como la siguiente:
/application
/library
/Zend
/Core
/Filter
/MyFilter.php
/Validator
/MyValidator.php
Me gustaría poner filtros y validadores personalizados en sus respectivas carpetas y hacer que se carguen automáticamente cuando se usen. Sin embargo, no puedo encontrar la mejor forma de lograr esto.
Necesito la solución para trabajar con Zend_Filter_Input de esta manera:
$filters = array(
''month'' => ''Digits'',
''account'' => ''StringTrim'',
''other'' => ''MyFilter''
);
$validators = array(
''account'' => ''Alpha'',
''other'' => ''MyValidator''
);
$inputFilter = new Zend_Filter_Input($filters, $validators);
Lo que ya sé:
- Core_Filter_MyFilter implementa Zend_Filter_Interface
- Obviamente, los filtros y validadores ya están en mi ruta de inclusión.
Zend_Filter_Input
e implementé Zend_Filter_Input
en 2007.
Puede agregar nuevos prefijos de clase para ayudar a cargar su filtro personalizado y las clases de validador. Por defecto, Zend_Filter_Input
busca clases que tengan los prefijos "Zend_Filter"
y "Zend_Validate"
. Prueba esto:
$inputFilter->addNamespace(''Core_Filter'');
Antes de ejecutar isValid()
u otros métodos del objeto.
Alternativamente, también puede pasar una nueva cadena de prefijo de clase en la matriz de opciones, el cuarto argumento para el constructor Zend_Filter_Input
:
$options = array(''inputNamespace'' => ''Core_Filter'');
$inputFilter = new Zend_Filter_Input($filters, $validators, $data, $options);
Ver también la documentación que escribí para Zend_Filter_Input
.