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:12] – [5- Request et response] 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 209: | Ligne 208: | ||
} | } | ||
</ | </ | ||
- | ===== -- Données de session | + | ===== -- Persistance des données |
+ | |||
+ | Les sessions permettent de gérer la persistance des données entre les requêtes : il est possible d' | ||
+ | |||
+ | <sxh php> | ||
+ | <?php | ||
+ | |||
+ | class UserController extends Phalcon\Mvc\Controller{ | ||
+ | |||
+ | public function indexAction() | ||
+ | { | ||
+ | $this-> | ||
+ | } | ||
+ | |||
+ | public function welcomeAction() | ||
+ | { | ||
+ | echo " | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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/ |