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&parametre2=

$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&parametre2=
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&parametre2=
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&parametre2=abcd1234&parametreVirgule=10.23
//&parametreInvalide=abcde&parametreVide=

$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&parametre2=abcd1234&parametreVirgule=10.23
//&parametreVirguleAuMilieu=1a.2z3&parametreInvalide=abcde&parametreVide=

$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&parametre2=abcd1234&parametreVirgule=10.23
//&parametreInvalide=abcde&parametreVide=

$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&parametre2=alpha1&parametre3=alpha beta
//&parametreVide=&parametreInvalide=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&parametre2=alpha1&parametre3=alpha1 beta2
//&parametreVide=&parametreInvalide=@)]#

$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&parametre2=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&parametre2=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
}