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
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
//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
$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
//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
//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
//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
//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
//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
//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).
//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
//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
//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
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
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
if (CopixRequest::getFile ('fichier', $cheminDestination) !== false){ //la copie s'est bien passée }
