[Symfony] Récupérer le referrer de la requête
Publié le 20/11/2019 • Actualisé le 20/11/2019
C'est un besoin très courant que de devoir récupérer le referrer ("parrain" littéralement ou URL d'origine) de la requête courante. Bien sûr, ça peut être fait via l'objet valeur Symfony "request". Mais ça n'est pas si évident que ça quand on ne connait pas l'astuce. Si vous avez atterri ici parce que vous cherchez comment récupérer le nom de la route de ce referrer, vous devriez jeter un coup d'œil à ce snippet 😉.
[Fun fact] Comme vous pouvez le voir le champ HTTP d'entête referer est mal orthographié.
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
use Symfony\Component\HttpFoundation\Request;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet57Trait
{
public function snippet57(Request $request): void
{
// If you hit the run button, the referer will be the URL of this snippet.
echo $request->headers->get('referer'); // That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Plus sur le web Snippet aléatoire