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:views [2015/01/10 16:06] – [1.3- Contrôle hiérarchique du niveau d'affichage] jcheron | slam4:php:phalcon:views [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Vues ====== | ====== Vues ====== | ||
| - | les classes | + | les classes |
| ===== -- Intégration des vues avec les contrôleurs ===== | ===== -- Intégration des vues avec les contrôleurs ===== | ||
| Ligne 35: | Ligne 35: | ||
| La méthode **setVar** permet de créer des variables à la demande de façon à ce qu' | La méthode **setVar** permet de créer des variables à la demande de façon à ce qu' | ||
| - | ==== -- Scan hiérarchique ==== | + | ===== -- Scan hiérarchique |
| Le composant par défaut pour les vues (Phalcon\Mvc\View) gère l' | Le composant par défaut pour les vues (Phalcon\Mvc\View) gère l' | ||
| Ligne 160: | Ligne 160: | ||
| </ | </ | ||
| - | ou de manière générale dans le fichier bootstrap : | + | ou **de manière générale** dans le fichier bootstrap : |
| <sxh php; | <sxh php; | ||
| Ligne 182: | Ligne 182: | ||
| </ | </ | ||
| + | ==== - Choix spécifique de vues ==== | ||
| + | |||
| + | Il est également possible de déterminer précisément l a vue à afficher avec la méthode **pick** : | ||
| + | <sxh php; | ||
| + | $this-> | ||
| + | </ | ||
| + | |||
| + | Ou de désactiver l' | ||
| + | <sxh php; | ||
| + | $this-> | ||
| + | </ | ||
| + | |||
| + | ===== -- Scan Simple ===== | ||
| + | |||
| + | L' | ||
| + | |||
| + | Ce composant plus classique permet de choisir précisément la vue à afficher. | ||
| + | |||
| + | |||
| + | Le composant par défaut doit être remplacé dans le fichier bootstrap lors de l' | ||
| + | |||
| + | <sxh php; | ||
| + | <?php | ||
| + | |||
| + | $di-> | ||
| + | |||
| + | $view = new Phalcon\Mvc\View\Simple(); | ||
| + | |||
| + | $view-> | ||
| + | |||
| + | return $view; | ||
| + | |||
| + | }, true); | ||
| + | </ | ||
| + | |||
| + | Démarrage de l' | ||
| + | |||
| + | <sxh php> | ||
| + | <?php | ||
| + | |||
| + | try { | ||
| + | |||
| + | $application = new Phalcon\Mvc\Application($di); | ||
| + | |||
| + | $application-> | ||
| + | |||
| + | echo $application-> | ||
| + | |||
| + | } catch (\Exception $e) { | ||
| + | echo $e-> | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Exemples d' | ||
| + | <sxh php> | ||
| + | <?php | ||
| + | |||
| + | class PostsController extends \Phalcon\Mvc\Controller{ | ||
| + | |||
| + | public function indexAction(){ | ||
| + | //Render ' | ||
| + | echo $this-> | ||
| + | |||
| + | //Render ' | ||
| + | echo $this-> | ||
| + | |||
| + | //Render ' | ||
| + | echo $this-> | ||
| + | |||
| + | //Render ' | ||
| + | echo $this-> | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== -- Inclusion de templates partiels ==== | ||
| + | |||
| + | <sxh php> | ||
| + | <div class=" | ||
| + | |||
| + | <div class=" | ||
| + | < | ||
| + | |||
| + | < | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | </ | ||
| + | |||
| + | Il est également possible de passer des variables à la vue partielle : | ||
| + | |||
| + | <sxh php; | ||
| + | <?php $this-> | ||
| + | </ | ||
| + | |||
| + | ==== -- Passage de variables du contrôleur à la vue ==== | ||
| + | === -- Variable simple === | ||
| + | |||
| + | <sxh php; | ||
| + | | ||
| + | { | ||
| + | //Passage du nombre de posts à la vue | ||
| + | $this-> | ||
| + | </ | ||
| + | |||
| + | <sxh php: | ||
| + | echo $postCount; | ||
| + | </ | ||
| + | |||
| + | === -- Passage de plusieurs variables === | ||
| + | |||
| + | <sxh php; | ||
| + | $this-> | ||
| + | ' | ||
| + | ' | ||
| + | )); | ||
| + | </ | ||
| + | |||
| + | <sxh php; | ||
| + | echo $title; | ||
| + | echo $content; | ||
| + | </ | ||
| + | |||
| + | === -- Mise en cache === | ||
| + | |||
| + | voir http:// | ||
| + | |||
| + | ==== -- Evènements sur les vues ==== | ||
| + | |||
| + | Les vues ont la possibilité d' | ||
| + | |||
| + | ^Nom ^Evènement ^Interruptible ? ^ | ||
| + | |beforeRender |avant interprétation |Yes | | ||
| + | |beforeRenderView |Avant interprétation d'une vue existante |Oui | | ||
| + | |afterRenderView |Après interprétation d'une vue existante |Non | | ||
| + | |afterRender |Après interprétation |Non | | ||
| + | |notFoundView |Déclenché si la vue est inexistante |Non | | ||
| + | |||
| + | Exemple de configuration avec eventsManager : | ||
| + | |||
| + | <sxh php> | ||
| + | $di-> | ||
| + | |||
| + | //création de l' | ||
| + | $eventsManager = new Phalcon\Events\Manager(); | ||
| + | |||
| + | // | ||
| + | $eventsManager-> | ||
| + | echo $event-> | ||
| + | }); | ||
| + | |||
| + | $view = new \Phalcon\Mvc\View(); | ||
| + | $view-> | ||
| + | |||
| + | //Associe l' | ||
| + | $view-> | ||
| + | |||
| + | return $view; | ||
| + | |||
| + | }, true); | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | |||
| + | <sxh php> | ||
| + | <?php | ||
| + | |||
| + | class TidyPlugin{ | ||
| + | |||
| + | public function afterRender($event, | ||
| + | |||
| + | $tidyConfig = array( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | |||
| + | $tidy = tidy_parse_string($view-> | ||
| + | $tidy-> | ||
| + | |||
| + | $view-> | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | //Associe le plugin en tant que listener sur l’événement afterRender | ||
| + | $eventsManager-> | ||
| + | </ | ||
| + | |||
| + | La suite : [[slam4: | ||