DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:devel:request_vars

Accès aux variables de requête

Disponible depuis 2012-09-10 “Adora Belle”.

DokuWiki n'interdit pas l'accès aux super-globales $_POST, $_GET et $_REQUEST. Cependant, nous recommandons fortement de ne pas y accéder directement, mais plutôt d'utiliser notre classe Input. Une instance globale de cette classe est disponible partout sous la forme $INPUT.

Cette classe vous donne un accès sécurisé aux variables de requête, s'assure qu'elles sont correctement initialisées et vous permet de définir des valeurs par défaut.

Pour accéder à une variable dans $_REQUEST, il suffit d'appeler la méthode appropriée sur $INPUT. Par exemple, pour accéder à un entier dans $_REQUEST['foo'], il suffit d'appeler $INPUT->int('foo').

Si vous voulez accéder à $_GET ou $_POST explicitement, appelez les méthodes sur les membres “ get ” et “ post ” de “ $INPUT ”. Par exemple, $INPUT->get->int('foo') ou $INPUT->post->int('foo').

Toutes les fonctions d'accès permettent à un deuxième paramètre de fixer une valeur par défaut. Cette valeur sera retournée lorsque la variable n'a pas été définie ou avait un type incorrect (par exemple, un entier attendu est en fait un tableau à la place). Toutes les fonctions d'accès ont des valeurs par défaut raisonnables correspondant au type de la fonction. Par exemple, int() renvoie 0, arr() renvoie un tableau vide par défaut.

Un troisième paramètre indique à la fonction si un paramètre empty doit également être renvoyé par défaut. Ce troisième paramètre a pour valeur par défaut false.

Exemples

Voici quelques exemples pour vous donner une idée du fonctionnement de la classe Input. Pour des informations détaillées, veuillez vous référer à inc/Input.class.php.

global $INPUT;
 
$_REQUEST = array('foo' => '3');
 
var_dump($INPUT->int('foo')); // attend un entier
// int(3)
 
var_dump($INPUT->str('foo')); // attend une chaîne
// string(1) "3"
 
var_dump($INPUT->int('bar')); // valeur par défaut standard
// int(0)
 
var_dump($INPUT->int('bar',42)); // la définition d'une valeur par défaut explicite
// int(42)
 
var_dump($INPUT->bool('foo')); // nous forçons le type quand c'est raisonnable
// bool(true)
 
var_dump($INPUT->arr('foo')); // pas de trans-typage dans ce cas
// array(0) {
// }
 
 
$_POST = array('foo' => '0', 'bar' => '');
 
// accédons maintenant à  $_POST en essayant le troisième paramètre
 
var_dump($INPUT->post->int('foo', -1));
// int(0)
 
var_dump($INPUT->post->int('bar', -1));
// int(-1)
 
var_dump($INPUT->post->int('foo', -1, true));
// int(-1)
 
var_dump($INPUT->post->int('bar', -1, true));
// int(-1)

Crédits

  • traduction : — digitalin 2020-08-22 08:34
fr/devel/request_vars.txt · Dernière modification : 2020-08-22 08:43 de Digitalin

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki