Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Contrôleurs : Manipuler les requêtes avec Symfony 2

Article posté le 26-08-2014 dans la catégorie PHP

Article mis à jour le : 05-05-2022

Manipuler les requêtes avec le framework Symfony 2

Sous Symfony, vous aurez certainement besoin de récuperer des éléments provenance de la requête HTTP du client.

Paramètres dans l'URL

Il existe deux types de paamètres :

Dans la route

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}

Hors route

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');

Connaître le type de la requête

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
{
 
}

Obtenir les variables de type POST

request->get('Nom') //Où Nom est un champ du formulaire de la requête POST

Variables de cookie

cookies->get('id'); //Champ 'id' du cookie


Variables de serveur

server->get('REQUEST_URI'); //Recupérer l'URI


Variables d'entête

headers->get('USER_AGENT'); //Récupérer le navigateur du client 

Cet article vous a plu? Découvrez d'autres articles :


comments powered by Disqus