Sous 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