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 | ||
slam4:php:phalcon:routes [2015/01/13 02:10] – [1.3- Nommage des paramètres] jcheron | slam4:php:phalcon:routes [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 136: | Ligne 136: | ||
</ | </ | ||
+ | ==== -- Récupération des paramètres nommés dans l' | ||
+ | |||
+ | |||
+ | <sxh php; | ||
+ | <?php | ||
+ | |||
+ | class PostsController extends \Phalcon\Mvc\Controller{ | ||
+ | |||
+ | public function indexAction(){ | ||
+ | |||
+ | } | ||
+ | |||
+ | public function showAction(){ | ||
+ | |||
+ | // Return " | ||
+ | $year = $this-> | ||
+ | |||
+ | // Return " | ||
+ | $month = $this-> | ||
+ | |||
+ | // Return " | ||
+ | $day = $this-> | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== -- Restrictions sur la méthode HTTP ==== | ||
+ | |||
+ | La correspondance des routes peut également être réalisée sur la méthode HTTP (GET, POST, HEAD, PUT, DELETE...) : | ||
+ | <sxh php> | ||
+ | <?php | ||
+ | |||
+ | // This route only will be matched if the HTTP method is GET | ||
+ | $router-> | ||
+ | |||
+ | // This route only will be matched if the HTTP method is POST | ||
+ | $router-> | ||
+ | |||
+ | // This route will be matched if the HTTP method is POST or PUT | ||
+ | $router-> | ||
+ | </ | ||
+ | |||
+ | ==== -- Fonctions de vérification ==== | ||
+ | |||
+ | Les routes doivent parfois satisfaire des conditions bien spécifiques qu'il est possible d' | ||
+ | |||
+ | <sxh php> | ||
+ | <?php | ||
+ | |||
+ | $router-> | ||
+ | ' | ||
+ | ' | ||
+ | ))-> | ||
+ | //Vérifie si la requête est réalisée en Ajax | ||
+ | if ($_SERVER[' | ||
+ | return false; | ||
+ | } | ||
+ | return true; | ||
+ | }); | ||
+ | </ | ||
==== -- Groupes de routes ==== | ==== -- Groupes de routes ==== | ||
Si un ensemble de routes a des chemins identiques, il est possible de les regrouper pour les gérer plus facilement : | Si un ensemble de routes a des chemins identiques, il est possible de les regrouper pour les gérer plus facilement : | ||
Ligne 172: | Ligne 234: | ||
</ | </ | ||
- | ==== -- Récupération des paramètres nommés dans l' | + | ===== -- Configuration du routage |
+ | ==== -- Fonctionnement par défaut ==== | ||
+ | La classe [[http:// | ||
+ | Il est possible de désactiver ce fonctionnement par défaut : | ||
- | <sxh php;title:PostController.php> | + | <sxh php;gutter:false> |
<?php | <?php | ||
- | class PostsController extends | + | // Instanciation du routeur sans les routes par défaut |
+ | $router = new \Phalcon\Mvc\Router(false); | ||
+ | </ | ||
- | public function indexAction(){ | + | === -- Route par défaut === |
+ | <sxh php> | ||
+ | <?php | ||
- | } | + | $router-> |
+ | ' | ||
+ | ' | ||
+ | )); | ||
+ | </ | ||
- | public function showAction(){ | + | === -- Chemins par défaut === |
+ | <sxh php> | ||
+ | <?php | ||
- | | + | //Définition à partir des méthodes spécifiques |
- | $year = $this->dispatcher->getParam(" | + | $router-> |
+ | $router->setDefaultNamespace(' | ||
+ | $router-> | ||
+ | $router->setDefaultAction(' | ||
- | | + | //Définition à partir d'un tableau |
- | $month = $this->dispatcher-> | + | $router->setDefaults(array( |
+ | ' | ||
+ | ' | ||
+ | )); | ||
+ | </ | ||
- | // Return " | + | === -- Erreur 404 : not found path === |
- | $day = $this-> | + | |
- | } | + | <sxh php> |
+ | <?php | ||
- | } | + | //Set 404 paths |
+ | $router-> | ||
+ | " | ||
+ | " | ||
+ | )); | ||
</ | </ | ||
===== -- Initialisation du service routage ===== | ===== -- Initialisation du service routage ===== |