Article mis à jour le : 05-05-2022
Manipuler les requêtes avec le framework Symfony 2Sous Symfony, vous aurez certainement besoin de récuperer des éléments provenance de la requête HTTP du client.
Il existe deux types de paamètres :
exemple :
http://www.monsite.com/video/id
Pour récuperer le paramètre id, il faut paramétrer le contrôleur. Au format yaml, cela donne ceci :
path: /videos/{id}
defaults: { _controller: MonSiteBundle:Default:voir }
requirements :
id: \d{1,}
Rappel : pour le décalage à droite, on utilise 4 espaces et non pas une tabulation.
Rappel 2 : En mode développement, vous devez utiliser l'url suivante :
http://multimedia.dev/app_dev.php/video/id
Ici, on met un filtre sur id : il doit être de type numérique, au moins un chiffre. Si on avait voulu limiter à un certain nombre de chiffre, on aurait par exemple fait :
\d{4}
exemple : http://www.monsite.com/video?id=4
Pour récuperer la requête, il vous suffit de faire :
$request = $this->getRequest();
Puis on récupère le paramètre souhaité :
$id = $request->query->get('id');
Pour connaître le type de la requête, il suffit d'utiliser une méthode et comparer la valeur qu'elle retourne : getMethod():
if( $request->getMethod() == 'POST' ) //Requête de type GET
{
}
request->get('Nom') //Où Nom est un champ du formulaire de la requête POST
server->get('REQUEST_URI'); //Recupérer l'URI
headers->get('USER_AGENT'); //Récupérer le navigateur du client