Introduction au Zend Framework

 Apprendre Zend Framework

appendix

 Guide de référence Zend Framework


  •  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
  • Translation 61.2% Update 2010-11-28 - Revision 23149 - Version ZF 1.11.x

    Chapitre 34. Zend_Filter

    Table des matières

    34.1. Introduction
    34.1.1. Qu'est-ce qu'un filtre ?
    34.1.2. Utilisation basique des filtres
    34.1.3. Utilisation de la méthode statique staticFilter()
    34.2. Classes de filtre standards
    34.2.1. Alnum
    34.2.1.1. Supported options for Zend_Filter_Alnum
    34.2.1.2. Basic usage
    34.2.1.3. Allow whitespaces
    34.2.2. Alpha
    34.2.2.1. Supported options for Zend_Filter_Alpha
    34.2.2.2. Basic usage
    34.2.2.3. Allow whitespace characters
    34.2.3. BaseName
    34.2.3.1. Supported options for Zend_Filter_BaseName
    34.2.3.2. Basic usage
    34.2.4. Boolean
    34.2.4.1. Comportement par défaut de Zend_Filter_Boolean
    34.2.4.2. Changer le comportement de Zend_Filter_Boolean
    34.2.4.3. Booléens localisés
    34.2.4.4. Désactiver le cast (transtypage)
    34.2.5. Callback
    34.2.6. Compression et décompression
    34.2.6.1. Les bases
    34.2.6.2. Créer une archive
    34.2.6.3. Décompresser une archive
    34.2.6.4. Adaptateur Bz2
    34.2.6.5. Adaptateur Gz
    34.2.6.6. Adaptateur Lzf
    34.2.6.7. Adaptateur Rar
    34.2.6.8. Tar Adapter
    34.2.6.9. Adaptateur Zip
    34.2.7. Decrypt
    34.2.7.1. Décryptage avec Mcrypt
    34.2.7.2. Decryptage avec OpenSSL
    34.2.8. Digits
    34.2.8.1. Supported options for Zend_Filter_Digits
    34.2.8.2. Basic usage
    34.2.9. Dir
    34.2.9.1. Supported options for Zend_Filter_Dir
    34.2.9.2. Basic usage
    34.2.10. Encrypt
    34.2.10.1. Cryptage avec Mcrypt
    34.2.10.2. Cryptage avec OpenSSL
    34.2.11. HtmlEntities
    34.2.11.1. Supported options for Zend_Filter_HtmlEntities
    34.2.11.2. Basic usage
    34.2.11.3. Quote Style
    34.2.11.4. Helper Methods
    34.2.12. Int
    34.2.12.1. Supported options for Zend_Filter_Int
    34.2.12.2. Basic usage
    34.2.13. LocalizedToNormalized
    34.2.13.1. Normaliser des nombres
    34.2.13.2. Normaliser des dates et des temps
    34.2.14. NormalizedToLocalized
    34.2.14.1. Localisation des nombres
    34.2.14.2. Localiser des dates et des temps
    34.2.15. Null
    34.2.15.1. Comportement par défaut de Zend_Filter_Null
    34.2.15.2. Changer le comportement de Zend_Filter_Null
    34.2.16. PregReplace
    34.2.17. RealPath
    34.2.18. StringToLower
    34.2.19. StringToUpper
    34.2.20. StringTrim
    34.2.20.1. Supported options for Zend_Filter_StringTrim
    34.2.20.2. Basic usage
    34.2.20.3. Default behaviour for Zend_Filter_StringTrim
    34.2.21. Int
    34.2.22. StripTags
    34.3. Chaînes de filtrage
    34.3.1. Changing filter chain order
    34.4. Écriture de filtres
    34.5. Zend_Filter_Input
    34.5.1. Déclarer des règles de filtre et de validateur
    34.5.2. Créer le processeur de filtres et validateurs
    34.5.3. Récupérer les champs validés/filtré, et les éventuels rapports
    34.5.3.1. Demander si l'entrée est valide
    34.5.3.2. Récupérer les infos des champs invalides, absents ou inconnus
    34.5.3.3. Récupérer les champs valides
    34.5.4. Utiliser des méta commandes pour contrôler les règles des filtres et validateurs
    34.5.4.1. La méta commande FIELDS
    34.5.4.2. Méta commande PRESENCE
    34.5.4.3. La méta commande DEFAULT_VALUE
    34.5.4.4. La méta commande ALLOW_EMPTY
    34.5.4.5. La méta commande BREAK_CHAIN
    34.5.4.6. La méta commande MESSAGES
    34.5.4.7. Utiliser des options pour définir des méta commandes pour toutes les règles
    34.5.5. Ajouter des espaces de noms comme noms de classes
    34.6. Zend_Filter_Inflector
    34.6.1. Opération
    34.6.2. Créer des chemins vers des filtres alternatifs
    34.6.3. Paramétrer la cible de l'inflecteur
    34.6.4. Règles d'inflexion
    34.6.4.1. Règles statiques
    34.6.4.2. Règles non statiques : basées sur des filtres
    34.6.4.3. Paramétrer plusieurs règles en une seule fois
    34.6.5. Autres méthodes utilitaires
    34.6.6. Zend_Config avec Zend_Filter_Inflector

    34.1. Introduction

    Le composant Zend_Filter fournit un ensemble de filtres de données usuel. Il fournit également un mécanisme simple de chaînage par lequel plusieurs filtres peuvent être appliqués à une donnée dans un ordre défini.

    34.1.1. Qu'est-ce qu'un filtre ?

    Généralement parlant, un filtre est utilisé pour supprimer les parties non désirées de ce qui lui est soumis tout en laissant passer la partie désirée. Dans ce cas de figure, un filtre est une opération qui restitue une partie de la donnée soumise. Ce type de filtrage est utile pour les applications Web : suppression des données soumises non conformes, élimination des espaces inutiles, etc.

    Cette définition simple d'un filtre peut être étendue pour inclure des transformations généralisées aux données soumises. Une transformation communément requise dans les applications Web consiste à échapper les entités HTML. Ainsi, si un champ de formulaire est automatiquement transmis et contient des données non vérifiées (provenant par exemple d'un navigateur Web), ces données doivent être purgées de leurs entités HTML ou bien contenir uniquement des entités HTML échappées, de manière à se garantir contre des comportements non désirés et les vulnérabilités de sécurité. Afin d'assurer cette opération, les entités HTML qui sont présentes dans les données saisies doivent être soit supprimées soit échappées. Naturellement, l'approche adéquate dépend du contexte. Un filtre de suppression des entités HTML opère dans le contexte défini plus haut : une opération produisant un sous-ensemble à partir d'une donnée soumise. Cependant, un filtre échappant les entités HTML transforme la valeur entrée (par exemple, "&" sera transformé en "&". Permettre de telles choses est important pour les développeurs Web et "filtrer" dans le contexte d'utilisation de Zend_Filter consiste à réaliser des transformations sur les données soumises.

    34.1.2. Utilisation basique des filtres

    Avoir cette définition d'un filtre établie fournit la base pour Zend_Filter_Interface, qui nécessitent une méthode unique nommée filter() pour être implémentée par une classe de filtre.

    L'exemple simple ci-dessous démontre l'utilisation d'un filtre sur les caractères esperluette (&, "ampersand" en anglais) et guillemet double (") :

    $htmlEntities = new Zend_Filter_HtmlEntities();

    echo 
    $htmlEntities->filter('&'); // &
    echo $htmlEntities->filter('"'); // "

    34.1.3. Utilisation de la méthode statique staticFilter()

    S'il est peu pratique de charger une classe de filtre donnée et créer une instance du filtre, vous pouvez utiliser la méthode statique Zend_Filter::get() comme appel alternatif. Le premier argument de cette méthode est une valeur de saisie de données, que vous passeriez à la méthode filter(). Le deuxième argument est une chaîne, qui correspond au nom de base de la classe de filtre, relativement dans l'espace de nommage Zend_Filter. La méthode staticFilter() charge automatiquement la classe, crée une instance et applique la méthode filter() à la donnée saisie.

    echo Zend_Filter::get('&''HtmlEntities');

    Vous pouvez aussi fournir un tableau de paramètres destinés au constructeur de la classe, s'ils sont nécessaires pour votre classe de filtre.

    echo Zend_Filter::filterStatic('"',
                                   
    'HtmlEntities',
                                   array(
    'quotestyle' => ENT_QUOTES));

    L'utilisation statique peut être pratique pour invoquer un filtre ad hoc, mais si vous avez besoin d'exécuter un filtre pour des saisies multiples, il est plus efficace de suivre le premier exemple ci-dessus, créant une instance de l'objet de filtre et appelant sa méthode filter().

    De plus, la classe Zend_Filter_Input vous permet d'instancier et d'exécuter des filtres multiples et des classes de validateurs sur demande pour traiter l'ensemble de données saisies. Voir Section 34.5, « Zend_Filter_Input ».

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...