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:controllers [2015/01/09 10:26] – [6- Données de session] jcheron | slam4:php:phalcon:controllers [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| - | Un contrôleur Phalcon est une classe héritant de \Phalcon\Mvc\Controller, | + | Un contrôleur Phalcon est une classe héritant de [[https:// |
| ===== -- URLs ===== | ===== -- URLs ===== | ||
| Ligne 35: | Ligne 34: | ||
| </ | </ | ||
| **URL d' | **URL d' | ||
| - | * / | + | * / |
| Les paramètres de l' | Les paramètres de l' | ||
| Ligne 56: | Ligne 55: | ||
| **URLs d' | **URLs d' | ||
| - | * / | + | * / |
| * / | * / | ||
| * / | * / | ||
| Ligne 136: | Ligne 135: | ||
| - | Les contrôleurs ont accès par défaut à l' | + | Les contrôleurs ont accès par défaut à l' |
| <sxh php; | <sxh php; | ||
| Ligne 211: | Ligne 210: | ||
| ===== -- Persistance des données ===== | ===== -- Persistance des données ===== | ||
| - | Sessions help us maintain persistent data between requests. You could access a Phalcon\Session\Bag | + | Les sessions permettent de gérer la persistance des données entre les requêtes : il est possible d' |
| <sxh php> | <sxh php> | ||
| Ligne 231: | Ligne 230: | ||
| </ | </ | ||
| + | |||
| + | Il est également possible d' | ||
| + | Les données ajoutés à la session ($this-> | ||
| + | |||
| + | |||
| ===== -- Base controller ===== | ===== -- Base controller ===== | ||
| + | Moteur de template, gestion du cache, ACL, translation sont souvent communs à plusieurs contrôleurs. Il est intéressant dans ce cas de factoriser le code en créant un contrôleur de base, gérant ces services communs, et d'en faire hériter les autres contrôleurs. | ||
| + | <sxh php; | ||
| + | <?php | ||
| + | |||
| + | class ControllerBase extends \Phalcon\Mvc\Controller{ | ||
| + | |||
| + | /** | ||
| + | * Action disponible pour tous les contrôleurs héritant de ControllerBase | ||
| + | */ | ||
| + | public function someAction(){ | ||
| + | |||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | Tout contrôleur héritant de ControllerBase aura maintenant accès aux fonctionnalités de ControllerBase. | ||
| + | |||
| + | <sxh php; | ||
| + | <?php | ||
| + | |||
| + | class UsersController extends ControllerBase{ | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== -- Evènements dans les contrôleurs ===== | ||
| + | |||
| + | Les contrôleurs disposent d' | ||
| + | |||
| + | <sxh php; | ||
| + | <?php | ||
| + | |||
| + | class PostsController extends \Phalcon\Mvc\Controller{ | ||
| + | |||
| + | public function beforeExecuteRoute($dispatcher){ | ||
| + | // This is executed before every found action | ||
| + | if ($dispatcher-> | ||
| + | |||
| + | $this-> | ||
| + | |||
| + | $this-> | ||
| + | ' | ||
| + | ' | ||
| + | )); | ||
| + | |||
| + | return false; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | public function afterExecuteRoute($dispatcher){ | ||
| + | // Executed after every found action | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | Le retour (false/ | ||