Présentation
CopixRequest est la classe de base qui vous permet de récupérer les données en provenance des éléments $_GET, $_POST ou $_FILES du navigateur.
Cette classe est essentiellement appelée depuis vos actions et contient quelques méthodes pratiques pour récupérer la demande utilisateur.
Méthodes disponibles
asArray ()
Cette méthode vous permet de récupérer les données passés en paramètres sous forme de tableau. Si vous désirez récupérez seulement un certain nombre de champ, il suffit de passer, en argument, un tableau contenant le nom des champs voulus.
Exemple
<?php $arValues = CopixRequest::asArray ();// On récupère un tableau des valeurs $arValues = CopixRequest::asArray (array ('champ1', 'champ2', 'champ3'));// On récupère les champs champ1, champ2, champ3 dans un tableau
get ($pVarName, $pDefaultValue = null, $pDefaultIfEmpty = true)
La méthode get vous permet de récupérer une variable envoyée par le navigateur. Vous devez simplement spécifier le nom de la variable à récupérer. Si le navigateur n'a pas envoyé la variable en question, une valeur par défaut ($pDefaultValue) sera retournée (null si non spécifiée). Le troisième paramètre optionnel indique si vous voulez qu'en cas de valeur vide ({{{) Copix retourne également la valeur par défaut que vous avez spécifié.
Exemple
<?php //avec l'url suivante //index.php?parametre=valeur¶metre2= $value = CopixRequest::get ('parametre');//on récupère valeur $value = CopixRequest::get ('parametre2');//on récupère null $value = CopixRequest::get ('parametre2', 1);//on récupère 1 car parametre2 est vide et la valeur par défaut que l'on demande dans ce cas est 1 $value = CopixRequest::get ('parametre2', 1, false);//on récupère "" (chaine vide) car on indique que l'on souhaite récupérer vide en cas de valeur vide
On peut également utiliser la fonction raccourcis _request.
Exemple
<?php $value = _request ('parametre');//on récupère valeur $value = _request ('parametre2');//on récupère null $value = _request ('parametre2', 1);//on récupère 1 car parametre2 est vide et la valeur par défaut que l'on demande dans ce cas est 1 $value = _request ('parametre2', 1, false);//on récupère "" (chaine vide) car on indique que l'on souhaite récupérer vide en cas de valeur vide
assert
Cette méthode vous permet de vous assurer qu'un ensemble de paramètres a bien été envoyé à votre application. Dans le cas contraire, la méthode assert lance une exception de type CopixRequestException.
Exemple
<?php //avec l'url suivante //index.php?parametre=valeur¶metre2= CopixRequest::assert ('parametre', 'parametre2'); //ne lance aucune exception car les paramètres sont renseignés CopixRequest::assert ('parametrePasDonne'); //lance une exception
exists ($varName)
Cette méthode s'assure que l'on a bien donné le paramètre de nom donné.
Exemple
<?php //avec l'url suivante //index.php?parametre=valeur¶metre2= CopixRequest::exists ('parametre'); //true CopixRequest::exists ('parametre2'); //true CopixRequest::exists ('parametrePasDonne'); //false
getNumeric ($pVarName, $pDefaultValue = null)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure de retourner une chaîne qui ne contient que des caractères numériques.
Exemple
<?php //index.php?parametre=123¶metre2=abcd1234¶metreVirgule=10.23 //¶metreInvalide=abcde¶metreVide= $valeur = CopixRequest::getNumeric ('parametre');//retourne 123 $valeur = CopixRequest::getNumeric ('parametre2');//retourne 1234 $valeur = CopixRequest::getNumeric ('parametre3', 0);//retourne 0 $valeur = CopixRequest::getNumeric ('parametre4', 'valeur nulle');//retourne la chaîne "valeur nulle" $valeur = CopixRequest::getNumeric ('parametreVirgule'); //retourne 1023 (on ne prend pas les virgules, pour les virgules utilisez getFloat) $valeur = CopixRequest::getNumeric ('parametreInvalide');//retourne }}} (chaîne vide) $valeur = CopixRequest::getNumeric ('parametreVide', 17); //retourne 17
Note : Il est possible de spécifier une valeur par défaut qui n'est pas numérique.
getFloat ($pVarName, $pDefaultValue = null)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure de retourner une valeur décimale.
Exemple
<?php //index.php?parametre=123¶metre2=abcd1234¶metreVirgule=10.23 //¶metreVirguleAuMilieu=1a.2z3¶metreInvalide=abcde¶metreVide= $valeur = CopixRequest::getFloat ('parametre');//retourne 123.0 $valeur = CopixRequest::getFloat ('parametre2');//retourne 1234.0 $valeur = CopixRequest::getFloat ('parametre3', 0);//retourne 0.0 $valeur = CopixRequest::getFloat ('parametre4', 'valeur nulle');//retourne la chaîne "valeur nulle" $valeur = CopixRequest::getFloat ('parametreVirgule'); //retourne 10.23 $valeur = CopixRequest::getFloat ('parametreVirguleAuMilieu');//retourne 1.23 $valeur = CopixRequest::getFloat ('parametreInvalide');//retourne 0.0 $valeur = CopixRequest::getFloat ('parametreVide', 1); //retourne 1
Note : Il est possible de spécifier une valeur par défaut qui n'est pas un flottant.
getInt ($pVarName, $pDefaultValue = null)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure de retourner une valeur entière (int).
Exemple
<?php //index.php?parametre=123¶metre2=abcd1234¶metreVirgule=10.23 //¶metreInvalide=abcde¶metreVide= $valeur = CopixRequest::getInt ('parametre');//retourne 123 $valeur = CopixRequest::getInt ('parametre2');//retourne 1234 $valeur = CopixRequest::getInt ('parametre3', 0);//retourne 0 $valeur = CopixRequest::getInt ('parametre4', 'valeur nulle');//retourne la chaîne "valeur nulle" $valeur = CopixRequest::getInt ('parametreVirgule'); //retourne 1023 (on ne prend pas les virgules, pour les virgules utilisez getFloat) $valeur = CopixRequest::getInt ('parametreInvalide');//retourne 0 $valeur = CopixRequest::getInt ('parametreVide', 17); //retourne 17
Note : Il est possible de spécifier une valeur par défaut qui n'est pas un entier.
getAlpha ($pVarName, $pDefaultValue = {{{)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure de retourner une chaîne qui ne contient que des caractères alphabétiques (espaces compris).
Exemple
<?php //Avec l'url index.php?parametre=alpha¶metre2=alpha1¶metre3=alpha beta //¶metreVide=¶metreInvalide=12345 $valeur = CopixRequest::getAlpha ('parametre'); //retourne la chaîne alpha $valeur = CopixRequest::getAlpha ('parametre2'); //retourne la chaîne alpha $valeur = CopixRequest::getAlpha ('parametre3'); //retourne la chaîne 'alpha beta' $valeur = CopixRequest::getAlpha ('parametreVide', 'default');//retourne la chaîne "default" $valeur = CopixRequest::getAlpha ('parametreInvalide');//retourne la chaîne vide }}}
getAlphaNum ($pVarName, $pDefaultValue = {{{)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure de retourner une chaîne qui ne contient que des caractères alphabétiques et numériques (espaces compris).
<?php //Avec l'url index.php?parametre=alpha¶metre2=alpha1¶metre3=alpha1 beta2 //¶metreVide=¶metreInvalide=@)]# $valeur = CopixRequest::getAlphaNum ('parametre'); //retourne la chaîne alpha $valeur = CopixRequest::getAlphaNum ('parametre2'); //retourne la chaîne alpha1 $valeur = CopixRequest::getAlphaNum ('parametre3'); //retourne la chaîne 'alpha1 beta2' $valeur = CopixRequest::getAlphaNum ('parametreVide', 'default');//retourne la chaîne "default" $valeur = CopixRequest::getAlphaNum ('parametreInvalide');//retourne la chaîne vide }}}
getInArray ($pVarName, $pMustBeInArray, $pDefaultValue = null)
Cette méthode est l'équivalent de "get" à la seule différence qu'elle s'assure avant de retourner la valeur du paramètre que ce dernier fait partie d'une liste de valeurs pré-établie (dans un tableau).
Exemple
<?php //Avec l'url index.php?parametre=alpha¶metre2=trois $valeur = CopixRequest::getInArray ('parametre', array ('alpha', 'beta', 'gamma')); //retourne la chaîne alpha $valeur = CopixRequest::getInArray ('parametre2', array ('alpha', 'beta', 'gamma')); //retourne null $valeur = CopixRequest::getInArray ('parametre2', array ('alpha', 'beta', 'gamma'), 'alpha');//retourne alpha
asArray ()
La méthode asArray retourne l'ensemble des paramètres reçus (en $_GET et $_POST) sous la forme d'un tableau associatif.
Exemple
<?php //Avec l'url index.php?parametre=alpha¶metre2=trois $valeur = CopixRequest::asArray (); //retourne array ('parametre'=>'alpha', 'parametre2'=>'trois')
setRequest ($pArray)
Cette méthode est l'inverse de la méthode asArray: Elle initialise la requête à partir d'un tableau associatif.
Attention Toutes les anciennes valeurs de la requête sont supprimées.
Exemple
<?php CopixRequest::setRequest (array ('parametre'=>'alpha', 'parametre2'=>'trois')); CopixRequest::get ('parametre');//on récupère 'alpha' CopixRequest::get ('parametre2');//on récupère 'trois'
set ($pVarName, $pValue)
Cette méthode permet d'ajouter un paramètre dans la requête.
Exemple
<?php CopixRequest::set ('parametre', 'valeur'); CopixRequest::get ('parametre');//on récupère 'valeur'
getFile ($pVarName, $pPath=null, $pFileName=null)
Cette méthode permet de récupérer facilement un fichier uploadé via un formulaire.
- $pVarName correspond à l'attribut name du champ file du formulaire.
- Si $pPath est spécifié, Copix tente de copier le fichier reçu vers le chemin indiqué.
- Si $pFileName est spécifié, Copix tente de copier le fichier reçu vers $pPath avec le nom de fichier $pFileName (au lieu d'utiliser le nom indiqué lors de l'upload)
Dans tous les cas, getFile retourne un objet de type CopixUploadedFile si le fichier à été correctement uploadé et false dans le cas contraire.
Exemple
<?php if (CopixRequest::getFile ('fichier', $cheminDestination) !== false){ //la copie s'est bien passée }
