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 | ||
| framework-web:symfony:routing [2018/01/31 01:39] – [Paramètres de routage spéciaux] jcheron | framework-web:symfony:routing [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 116: | Ligne 116: | ||
| } | } | ||
| </ | </ | ||
| - | |||
| ===== Valeur par défaut ===== | ===== Valeur par défaut ===== | ||
| Ligne 134: | Ligne 133: | ||
| { | { | ||
| // ... | // ... | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Méthode HTTP ===== | ||
| + | L' | ||
| + | |||
| + | <sxh php; | ||
| + | namespace App\Controller; | ||
| + | |||
| + | // ... | ||
| + | |||
| + | class BlogApiController extends Controller | ||
| + | { | ||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function show($id) | ||
| + | { | ||
| + | // ... return a JSON response with the post | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * @Route("/ | ||
| + | */ | ||
| + | public function edit($id) | ||
| + | { | ||
| + | // ... edit a post | ||
| } | } | ||
| } | } | ||
| Ligne 167: | Ligne 194: | ||
| public function show($_locale, | public function show($_locale, | ||
| { | { | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Génération d'URLs ===== | ||
| + | |||
| + | ==== Depuis un contrôleur ==== | ||
| + | |||
| + | <sxh php> | ||
| + | class MainController extends Controller | ||
| + | { | ||
| + | public function show($slug) | ||
| + | { | ||
| + | // ... | ||
| + | |||
| + | // / | ||
| + | $url = $this-> | ||
| + | ' | ||
| + | array(' | ||
| + | ); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== URL avec paramètres ==== | ||
| + | Les variables supplémentaires sont ajoutées en tant que query string : | ||
| + | <sxh php> | ||
| + | $this-> | ||
| + | ' | ||
| + | ' | ||
| + | )); | ||
| + | // / | ||
| + | </ | ||
| + | |||
| + | ==== Génération depuis un service ==== | ||
| + | |||
| + | Il est nécessaire d' | ||
| + | |||
| + | <sxh php; | ||
| + | use Symfony\Component\Routing\Generator\UrlGeneratorInterface; | ||
| + | |||
| + | class SomeService | ||
| + | { | ||
| + | private $router; | ||
| + | |||
| + | public function __construct(UrlGeneratorInterface $router) | ||
| + | { | ||
| + | $this-> | ||
| + | } | ||
| + | |||
| + | public function someMethod() | ||
| + | { | ||
| + | $url = $this-> | ||
| + | ' | ||
| + | array(' | ||
| + | ); | ||
| + | // ... | ||
| } | } | ||
| } | } | ||
| </ | </ | ||