Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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:06] thierry | 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 27: | Ligne 27: | ||
| </code> | </code> | ||
| - | ==== Route differentes en fonction de la méthord GET POST etc... ==== | + | ==== Routage en fonction de la méthord GET POST etc... ==== | 
| Dans le code ci dessous, si l'appel est fait en ''GET'' on exécute la function **check()**  | Dans le code ci dessous, si l'appel est fait en ''GET'' on exécute la function **check()**  | ||
| Ligne 48: | Ligne 48: | ||
| </code> | </code> | ||
| + | ===== Générer des routes ===== | ||
| + | ==== 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> | ||
| + | |||