Введение в Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  • Zend_Gdata
  • Zend_Http
  • Zend_InfoCard
  • Zend_Json
  • Zend_Layout
  • Zend_Ldap
  • Zend_Loader
  • Zend_Locale
  • Zend_Log
  • Zend_Mail
  • Zend_Markup
  • Zend_Measure
  • Zend_Memory
  • Zend_Mime
  • Zend_Navigation
  • Zend_Oauth
  • Zend_OpenId
  • Zend_Paginator
  • Zend_Pdf
  • Zend_ProgressBar
  • Zend_Queue
  • Zend_Reflection
  • Zend_Registry
  • Zend_Rest

  • Zend_Search_Lucene
  • Zend_Serializer
  • Zend_Server
  • Zend_Service
  • Zend_Session
  • Zend_Soap
  • Zend_Tag
  • Zend_Test
  • Zend_Text
  • Zend_TimeSync
  • Zend_Tool
  • Zend_Tool_Framework
  • Zend_Tool_Project
  • Zend_Translate
  • Zend_Uri
  • Zend_Validate
  • Zend_Version
  • Zend_View
  • Zend_Wildfire
  • Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Ttranslation 27.4% Update 2010-11-28 - Revision 23238 - Version ZF 1.11.x

    34.3. Цепочки фильтров

    Довольно часто встречается ситуация, когда к одним и тем же данным нужно применить несколько фильтров в определенном порядке. Например, форма аутентификации должна принимать имя пользователя, состояшее только из алфавитных символов в нижнем регистре. Zend_Filter предоставляет простой метод, через который составляется цепочка из фильтров. Следующий код демонстрирует создание цепочки из двух фильтров для имени пользователя:

    // Создание цепочки фильтров и добавление в нее фильтров
    $filterChain = new Zend_Filter();
    $filterChain->addFilter(new Zend_Filter_Alpha())
                ->
    addFilter(new Zend_Filter_StringToLower());

    // Фильтрация имени пользователя
    $username $filterChain->filter($_POST['username']);

    Фильтры применяются в том же порядке, в котором они были добавлены в Zend_Filter. В примере выше из имени пользователя сначала удаляются все неалфавитные символы, затем все символы приводятся к нижнему регистру.

    Все объекты, реализующие интерфейс Zend_Filter_Interface, могут использоваться в цепочке фильтров.

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...