rest_sanitize_value_from_schema()

Définition : rest_sanitize_value_from_schema() normalise une valeur selon un schéma REST WordPress. Elle peut convertir certains types ou traiter des formats définis et renvoyer un WP_Error lorsqu’une conversion sûre est impossible.

Comprendre et utiliser

À quoi sert cette notion ?

Elle aide à préparer des données cohérentes avant leur usage, en complément d’une validation préalable des entrées.

Fonctionnement technique

La fonction applique les règles de conversion et les formats reconnus par WordPress. Le manuel recommande généralement de valider d’abord avec rest_validate_value_from_schema().

Dans quel contexte l’utiliser ?

Une API de réglages reçoit un nombre d’éléments par page et doit manipuler un entier plutôt qu’une chaîne JSON ambiguë.

Étude de cas : application professionnelle

Une valeur peut être conforme au type demandé tout en nécessitant une normalisation avant son utilisation. L’approche recommandée consiste à valider la structure, puis assainir selon le schéma. Sur un paramètre de pagination, par exemple, traiter explicitement les limites et les conversions. Comparer une valeur entière, une chaîne de chiffres et un contenu non numérique. Une conversion inattendue ne doit jamais masquer une donnée invalide ou une action non autorisée. Garder des tests séparés pour la validation, l’assainissement et la règle métier garantit un résultat prévisible.

Exemple technique commenté

Cet extrait est destiné à un fichier PHP chargé par WordPress, idéalement dans un plugin local de test. Il ne doit pas être placé dans l'éditeur de contenu. Avant exécution, vérifier que les objets et variables mentionnés existent dans le contexte et que les permissions nécessaires sont définies.

<?php
$schema = array( 'type' => 'integer', 'minimum' => 1, 'maximum' => 20 );
$value  = 5;
$valid  = rest_validate_value_from_schema( $value, $schema, 'limite' );
if ( true === $valid ) {
    $limit = rest_sanitize_value_from_schema( $value, $schema, 'limite' );
}

Décryptage du code et résultat attendu

Le schéma est d’abord vérifié, puis la valeur est normalisée. Le code ne traite pas le cas d’une entrée rejetée au-delà de l’absence de conversion.

Exercice guidé pour vérifier la notion

Comparer une valeur entière, une chaîne et une valeur négative en observant séparément validation puis normalisation.

Précautions et limites

Ne pas compter sur la normalisation pour corriger toutes les entrées malveillantes ou appliquer une autorisation métier.

À ne pas confondre

Validation et assainissement sont complémentaires : l’une refuse une valeur hors contrat, l’autre normalise une valeur acceptable.

Diagnostic avancé

Si une valeur change de manière surprenante, inspecter les formats et la compatibilité des types déclarés.

Choix d’architecture et déploiement

Conserver la valeur initiale pour les journaux non sensibles de diagnostic et documenter les conversions attendues dans le contrat API.

Références officielles WordPress

Bouton retour en haut de la page