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:td4 [2016/03/03 22:34] – supprimée jcheron | slam4:php:phalcon:td4 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== TD n°4 - Scripts côté client, Ajax, JSON, composants ====== | ||
+ | **Institut Universitaire de Technologie**\\ | ||
+ | Département Informatique - Campus III Ifs\\ | ||
+ | Janvier-Février 2017 | ||
+ | ===== -- Pré-requis | ||
+ | < | ||
+ | <a href=" | ||
+ | </ | ||
+ | |||
+ | ===== -- Installation ===== | ||
+ | - Créer un nouveau projet Phalcon avec les devtools | ||
+ | - Intégrer la librairie phpMv-UI avec composer | ||
+ | - Injecter le service **JQuery** au démarrage de l' | ||
+ | - Intégrer le fichier javascript JQuery dans le fichier views/ | ||
+ | - Intégrer Semantic-UI pour la partie présentation | ||
+ | ===== -- Tests ===== | ||
+ | |||
+ | Créer un contrôleur **testController** | ||
+ | |||
+ | ==== -- Afficher/ | ||
+ | |||
+ | **Composants à utiliser :** | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | * Créer la vue **views/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * Créer une action **hideShowAction** incorporant le comportement suivant dans la vue : | ||
+ | * Sur Changement de valeur de la case à cocher, la div **#zone** s' | ||
+ | |||
+ | ==== -- Requêtes Ajax Get sur event ==== | ||
+ | |||
+ | **Composants à utiliser :** | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | * Créer la vue **views/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * Créer une action **getSimpleAction** incorporant le comportement suivant dans la vue : | ||
+ | * Sur click du bouton **# | ||
+ | * Sur click du bouton **# | ||
+ | |||
+ | |||
+ | * Créer les actions page1Action et page2Action, | ||
+ | |||
+ | ==== -- MouseOver ==== | ||
+ | |||
+ | * Dans getSimpleAction, | ||
+ | * sur **mouseover** des bouton, son attribut **data-description** est affiché dans la zone **# | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== -- Requêtes en cascade ==== | ||
+ | |||
+ | Créer les actions **page1Action**, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== -- POST de formulaire ==== | ||
+ | |||
+ | * Créer l' | ||
+ | * Créer l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== -- Requête de récupération de données JSON ==== | ||
+ | |||
+ | **Composants à utiliser :** | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | On ajoute au formulaire précédent la possibilité de récupérer via JSON les données initiales du formulaire à afficher : | ||
+ | * Le **btUser1** permet de récuprérer et d' | ||
+ | * De même le **btUser2** pour l' | ||
+ | |||
+ | Créer l' | ||
+ | |||
+ | <sxh php> | ||
+ | $userArray=array( | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | ===== -- Application ===== | ||
+ | ==== -- Model ==== | ||
+ | |||
+ | - Effectuer la connexion à la base de données **{{: | ||
+ | - Générer les modèles correspondant aux tables de la base de données (en respectant l' | ||
+ | ==== -- Contrôleur et Vues ==== | ||
+ | |||
+ | Dans un contrôleur **productsController** | ||
+ | |||
+ | - Créer l' | ||
+ | - Sur click d'un produit, le détail du produit est affiché dans la div **# | ||
+ | - Le Bouton **# | ||
+ | - La validation du formulaire (**# | ||
+ | - Le double click sur une ligne provoque le même effet que le simple click + le click sur Modifier | ||
+ | |||
+ | < | ||
+ | |||
+ | **Composants à utiliser :** | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | {{: | ||