Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:symfony:routage:routes [03/11/2019 16:07]
thierry [Routage en fonction de la méthord GET POST etc...]
prog:symfony:routage:routes [11/09/2022 19:49] (Version actuelle)
thierry ↷ Page déplacée de prog:symfony:routes:routes à prog:symfony:routage:routes
Ligne 50: Ligne 50:
 ===== Générer des routes ===== ===== Générer des routes =====
 ==== Dans un Controller ==== ==== Dans un Controller ====
 +Grâce a la méthode ''​generateUrl''​ de la classe AbstractController et ses descendants.
 +<code php vendor\symfony\framework-bundle\Controller\ControllerTrait.php>​
 +protected function generateUrl(string $route, array $parameters = [], int $referenceType = UrlGeneratorInterface::​ABSOLUTE_PATH):​ string</​code>​
 +Avec les parametres :
 +  * string ''​$route'' ​ : Le nom de la route a generer.
 +  * array ''​$parameters''​ : les parametre a remplacer dans le nom de la route.
 +  * integer ''​$referenceType''​ : Peut prendre les valeurs...
 +    * ''​ABSOLUTE_URL''​ : Generates an absolute URL, e.g. "​http://​example.com/​dir/​file"​.
 +    * ''​ABSOLUTE_PATH''​ : Generates an absolute path, e.g. "/​dir/​file"​.
 +    * ''​RELATIVE_PATH''​ : Generates a relative path based on the current request path, e.g. "​../​parent-file"​. ​ (@see UrlGenerator::​getRelativePath())
 +    *  ''​NETWORK_PATH''​ : Generates a network path, e.g. "/ /​example.com/​dir/​file"​. Such reference reuses the current scheme but specifies the host.
 +
 +Exemple :
 +
 +<​code>​
 +...
 +@Route("/​api/​checkv/​{projname}",​ name="​check_version",​ methods={"​GET"​})
 +...
 +$location = $this->​generateUrl('​check_version',​ ['​projname'​ => '​ProjectTest'​],​UrlGeneratorInterface::​ABSOLUTE_URL);​
 +...
 +Résultat:
 +http://​127.0.0.1:​8000/​api/​checkv/​ProjectTest
 +</​code>​