Attention, cette documentation n'est plus à jour. La dernière version est disponible sur le Trac de Copix : http://svn.copix.org/wiki/CopixRequest
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
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
}

