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 18:57] – [Contrôleurs] jcheron | slam4:php:phalcon:controllers [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
| |
| |
Un contrôleur Phalcon est une classe héritant de [[http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Controller.html|\Phalcon\Mvc\Controller]], et dont les méthodes publiques sont qualifiées d'actions, accessibles par l'url. Les actions sont responsables de l'interprétation des requêtes et de la création de la réponse. | Un contrôleur Phalcon est une classe héritant de [[https://api.phalconphp.com/class/Phalcon/Mvc/Controller.html|\Phalcon\Mvc\Controller]], et dont les méthodes publiques sont qualifiées d'actions, accessibles par l'url. Les actions sont responsables de l'interprétation des requêtes et de la création de la réponse. |
===== -- URLs ===== | ===== -- URLs ===== |
| |
</sxh> | </sxh> |
**URL d'accès à l'action :** | **URL d'accès à l'action :** |
* /posts/show/2015/JeSuisCharlie | * /posts/show/2015/elections |
| |
Les paramètres de l'action peuvent être facultatifs s'ils ont une valeur par défaut : | Les paramètres de l'action peuvent être facultatifs s'ils ont une valeur par défaut : |
| |
**URLs d'accès à l'action :** | **URLs d'accès à l'action :** |
* /posts/show/2015/JeSuisCharlie | * /posts/show/2015/elections |
* /posts/show/2015/ | * /posts/show/2015/ |
* /posts/show/ | * /posts/show/ |
| |
| |
Les contrôleurs ont accès par défaut à l'injecteur de services **$di** défini dans le fichier bootstrap (index.php) : | Les contrôleurs ont accès par défaut à l'injecteur de services **$di** défini dans le fichier bootstrap (index.php ou services.php) : |
| |
<sxh php;title:index.php> | <sxh php;title:index.php> |
| |
</sxh> | </sxh> |
| |
| Il est également possible d'utiliser $this->session pour assurer la persistance.\\ |
| Les données ajoutés à la session ($this->session) sont disponibles à travers toute l’application, tandis qu’avec $this->persistant, on ne peux y accéder qu’à partir de la portée de la classe courante. |
| |
| |
===== -- Base controller ===== | ===== -- Base controller ===== |
| |
Moeteur 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 commun, et d'en faire hériter les autres contrôleurs. | 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;title:app/controllers/ControllerBase.php> | <sxh php;title:app/controllers/ControllerBase.php> |
} | } |
</sxh> | </sxh> |
| |
| Le retour (false/true) permet éventuellement d'annuler l'action. |