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:15] – 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 182: | Ligne 182: | ||
</ | </ | ||
- | ==== - Choix de vues ==== | + | ==== - Choix spécifique |
Il est également possible de déterminer précisément l a vue à afficher avec la méthode **pick** : | Il est également possible de déterminer précisément l a vue à afficher avec la méthode **pick** : | ||
Ligne 194: | Ligne 194: | ||
</ | </ | ||
+ | ===== -- 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: |