zend mac how framework curso composer php zend-framework

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 .