Existe-t-il une fonction dans Symfony 2.7 qui renvoie l'URL absolue actuelle avec le numéro de port actuel?
Générer une URL absolue devrait inclure le port.
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
...
public function indexAction(Request $request)
{
$link = $this->generateUrl(
'route_name', [
'route'=>'params'
],
UrlGeneratorInterface::ABSOLUTE_URL
);
return $this->render('template', [
'link' => $link;
]);
}
L'objet Request
contient à la fois l'URI et le port. Donc, à partir d'un contrôleur, vous pouvez
public function indexAction(Request $request)
{
$uri = $request->getUri();
$port = $request->getPort();
}
Si vous n'êtes pas dans un contrôleur, assurez-vous d'injecter la RequestStack
dans votre classe, puis récupérez l'URI et le port de la requête maître.
$requestStack->getMasterRequest()->getUri();
Vous pouvez directement utiliser {{ app.request.uri }}
dans votre modèle de brindille.
Ex: si l'URI actuel est http://www.example.com:8080/page?q=test&p=2 then {{ app.request.uri }}
renverra la même chaîne.