slam4:php:phalcon:td2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam4:php:phalcon:td2 [2017/01/25 02:12] – [1- Pré-requis] jcheronslam4:php:phalcon:td2 [2017/02/13 16:15] (Version actuelle) – supprimée jcheron
Ligne 1: Ligne 1:
-====== TD n°2 - Vues et contrôleurs ====== 
-**Institut Universitaire de Technologie**\\ 
-Département Informatique - Campus III Ifs\\ 
-Janvier-Février 2015 
-===== -- Pré-requis  ===== 
-<html><a href="/slam4/php/phalcon/td1"><button class="button" style="min-width:250px">TD n°1</button></a><br> 
-<a href="/slam4/php/phalcon/devtools"><button class="button" style="min-width:250px">Installation devtools</button></a><br> 
-</html> 
-===== -- Cours/lecture ===== 
- 
-Créer un projet test (à partir des outils en ligne de commande) : 
-  - Lire la section relative aux [[slam4:php:phalcon:controllers|contrôleurs]] 
-  - Lire la section relative aux [[slam4:php:phalcon:views|vues]] 
- 
-<html><div class="todo">Au cours de la lecture, mettez en oeuvre les exemples exposés dans le projet de test créé</div></html> 
- 
-===== -- Application ===== 
- 
-Retour à l'application permettant de gérer le classement ATP des joueurs de Tennis : 
-<html><div class="todo"></html> 
-Implémentez les éléments ci-dessous, en créant dans un premier temps les contrôleurs, les actions, et les vues (sans implémenter leur contenu). 
-<html></div></html> 
- 
-Pour les modèles (cette partie n'étant pas le sujet du jour), vous pouvez vous contenter de créer la classe héritant de **\Phalcon\Mvc\Model**, sans créer ses membres : 
- 
-<sxh php;title:app/models/Joueur.php> 
-<?php 
-class Joueur extends \Phalcon\Mvc\Model{ 
-} 
-</sxh> 
- 
-<html><div class="todo"> 
-La structure ci-dessous étant répétitive (il s'agit du CRUD de chacun des modèles), trouvez une/des idée/s de factorisation : <b>Avant de vous lancer !</b> 
-</div></html> 
- 
-|< 100% >| 
-^**Modèles** | <html><span class="class">Pays</span></html> | 
-^::: | <html><span class="class">Joueur</span></html> | 
-^::: | <html><span class="class">Classement</span></html> | 
-^**Contrôleur/actions** | <html><span class="file" style="font-size:16px">JoueurController</span></html> | 
-^::: | <html><span class="method">indexAction(sField="nom",sens="asc",filter=NULL)</span></html>\\ Liste par défaut des joueurs, triés suivant **sField** dans l'ordre **sens**, en utilisant le filtre **filter** | 
-^::: | <html><span class="method">formAction(id=NULL)</span></html>\\ Formulaire de saisie/modification d'un joueur, **id** est la clé primaire du joueur à modifier | 
-^::: | <html><span class="method">updateAction(id=NULL)</span></html>\\ Met à jour le joueur posté dans la base de données, puis affiche un message | 
-^::: | <html><span class="method">deleteAction(id)</span></html>\\ Supprime le joueur dont l'**id** est passé en paramètre | 
-^::: | <html><span class="method">messageAction()</span></html>\\ Gère le message de mise à jour et affiche la vue | 
-^::: | <html><span class="file" style="font-size:16px">ClassementController</span></html> | 
-^::: | <html><span class="method">indexAction(sField="nom",sens="asc",filter=NULL)</span></html>\\ LClassement des joueurs, triés suivant **sField** dans l'ordre **sens**, en utilisant le filtre **filter** | 
-^::: | <html><span class="method">formAction(id=NULL)</span></html>\\ Formulaire de saisie du classement d'un joueur, **id** est la clé primaire du classement à modifier | 
-^::: | <html><span class="method">updateAction(id=NULL)</span></html>\\ Met à jour le classeemnt du joueur posté dans la base de données, puis affiche un message | 
-^::: | <html><span class="method">messageAction()</span></html>\\ Gère le message de mise à jour et affiche la vue | 
-^::: | <html><span class="file" style="font-size:16px">PaysController</span></html> | 
-^::: | <html><span class="method">indexAction(sField="nom",sens="asc",filter=NULL)</span></html>\\ Liste despays, triés suivant **sField** dans l'ordre **sens**, en utilisant le filtre **filter** | 
-^::: | <html><span class="method">formAction(id=NULL)</span></html>\\ Formulaire de saisie/modification d'un pays, **id** est la clé primaire du paysà modifier | 
-^::: | <html><span class="method">updateAction(id=NULL)</span></html>\\ Met à jour le pays posté dans la base de données, puis affiche un message | 
-^::: | <html><span class="method">deleteAction(id)</span></html>\\ Supprime le pays dont l'**id** est passé en paramètre | 
-^::: | <html><span class="method">messageAction()</span></html>\\ Gère le message de mise à jour et affiche la vue | 
-^**Vues** | <html><span class="jsp" style="font-size:16px">views/index.phtml</span></html> vue principale | 
-^::: | <html><span class="jsp" style="font-size:14px">views/joueur/index.phtml</span></html> Affiche la liste des joueurs | 
-^::: | <html><span class="jsp">views/joueur/form.phtml</span></html> Affiche le formulaire de modification/ajout d'un joueur | 
-^::: | <html><span class="jsp">views/joueur/message.phtml</span></html> Affiche le message post mise à jour d'un joueur (ajout/modification/suppression) | 
-^::: | <html><span class="jsp" style="font-size:14px">views/classement/index.phtml</span></html> Affiche le classement des joueurs | 
-^::: | <html><span class="jsp">views/classement/form.phtml</span></html> Affiche le formulaire de modification/ajout de classement | 
-^::: | <html><span class="jsp">views/classement/message.phtml</span></html> Affiche le message post mise à jour d'un classement (ajout/modification/suppression) | 
-^::: | <html><span class="jsp" style="font-size:14px">views/pays/index.phtml</span></html> Affiche les pays | 
-^::: | <html><span class="jsp">views/pays/form.phtml</span></html> Affiche le formulaire de modification/ajout de pays | 
-^::: | <html><span class="jsp">views/pays/message.phtml</span></html> Affiche le message post mise à jour d'un pays (ajout/modification/suppression) | 
-===== -- Ressources ===== 
-==== Drapeaux ==== 
- 
-  * {{:slam4:php:phalcon:blank.gif?linkonly|public/img/blank.gif}} 
-  * {{:slam4:php:phalcon:flags.png?linkonly|public/img/flags.gif}} 
-  * public/css/flags.css 
- 
-<html><textarea style="width:400px;height: 200px"> 
-.flag { 
- width: 18px; 
- height: 12px; 
- background:url(../img/flags.png) no-repeat 
-} 
- 
-.flag.flag-ad {background-position: -18px 0} 
-.flag.flag-ae {background-position: -36px 0} 
-.flag.flag-af {background-position: -54px 0} 
-.flag.flag-ag {background-position: -72px 0} 
-.flag.flag-ai {background-position: -90px 0} 
-.flag.flag-al {background-position: -108px 0} 
-.flag.flag-am {background-position: -126px 0} 
-.flag.flag-an {background-position: -144px 0} 
-.flag.flag-ao {background-position: -162px 0} 
-.flag.flag-ar {background-position: -180px 0} 
-.flag.flag-as {background-position: -198px 0} 
-.flag.flag-at {background-position: -216px 0} 
-.flag.flag-au {background-position: -234px 0} 
-.flag.flag-aw {background-position: -252px 0} 
-.flag.flag-az {background-position: -270px 0} 
-.flag.flag-ba {background-position: 0 -12px} 
-.flag.flag-bb {background-position: -18px -12px} 
-.flag.flag-bd {background-position: -36px -12px} 
-.flag.flag-be {background-position: -54px -12px} 
-.flag.flag-bf {background-position: -72px -12px} 
-.flag.flag-bg {background-position: -90px -12px} 
-.flag.flag-bh {background-position: -108px -12px} 
-.flag.flag-bi {background-position: -126px -12px} 
-.flag.flag-bj {background-position: -144px -12px} 
-.flag.flag-bm {background-position: -162px -12px} 
-.flag.flag-bn {background-position: -180px -12px} 
-.flag.flag-bo {background-position: -198px -12px} 
-.flag.flag-br {background-position: -216px -12px} 
-.flag.flag-bs {background-position: -234px -12px} 
-.flag.flag-bt {background-position: -252px -12px} 
-.flag.flag-bv {background-position: -270px -12px} 
-.flag.flag-bw {background-position: 0 -24px} 
-.flag.flag-by {background-position: -18px -24px} 
-.flag.flag-bz {background-position: -36px -24px} 
-.flag.flag-ca {background-position: -54px -24px} 
-.flag.flag-cd {background-position: -72px -24px} 
-.flag.flag-cf {background-position: -90px -24px} 
-.flag.flag-cg {background-position: -108px -24px} 
-.flag.flag-ch {background-position: -126px -24px} 
-.flag.flag-ci {background-position: -144px -24px} 
-.flag.flag-ck {background-position: -162px -24px} 
-.flag.flag-cl {background-position: -180px -24px} 
-.flag.flag-cm {background-position: -198px -24px} 
-.flag.flag-cn {background-position: -216px -24px} 
-.flag.flag-co {background-position: -234px -24px} 
-.flag.flag-cr {background-position: -252px -24px} 
-.flag.flag-cu {background-position: -270px -24px} 
-.flag.flag-cv {background-position: 0 -36px} 
-.flag.flag-cy {background-position: -18px -36px} 
-.flag.flag-cz {background-position: -36px -36px} 
-.flag.flag-de {background-position: -54px -36px} 
-.flag.flag-dj {background-position: -72px -36px} 
-.flag.flag-dk {background-position: -90px -36px} 
-.flag.flag-dm {background-position: -108px -36px} 
-.flag.flag-do {background-position: -126px -36px} 
-.flag.flag-ec {background-position: -144px -36px} 
-.flag.flag-ee {background-position: -162px -36px} 
-.flag.flag-eg {background-position: -180px -36px} 
-.flag.flag-eh {background-position: -198px -36px} 
-.flag.flag-er {background-position: -216px -36px} 
-.flag.flag-es {background-position: -234px -36px} 
-.flag.flag-et {background-position: -252px -36px} 
-.flag.flag-eu {background-position: -270px -36px} 
-.flag.flag-fi {background-position: 0 -48px} 
-.flag.flag-fj {background-position: -18px -48px} 
-.flag.flag-fk {background-position: -36px -48px} 
-.flag.flag-fm {background-position: -54px -48px} 
-.flag.flag-fo {background-position: -72px -48px} 
-.flag.flag-fr {background-position: -90px -48px} 
-.flag.flag-ga {background-position: -108px -48px} 
-.flag.flag-gb {background-position: -126px -48px} 
-.flag.flag-gd {background-position: -144px -48px} 
-.flag.flag-ge {background-position: -162px -48px} 
-.flag.flag-gf {background-position: -180px -48px} 
-.flag.flag-gg {background-position: -198px -48px} 
-.flag.flag-gh {background-position: -216px -48px} 
-.flag.flag-gi {background-position: -234px -48px} 
-.flag.flag-gl {background-position: -252px -48px} 
-.flag.flag-gm {background-position: -270px -48px} 
-.flag.flag-gn {background-position: 0 -60px} 
-.flag.flag-gp {background-position: -18px -60px} 
-.flag.flag-gq {background-position: -36px -60px} 
-.flag.flag-gr {background-position: -54px -60px} 
-.flag.flag-gs {background-position: -72px -60px} 
-.flag.flag-gt {background-position: -90px -60px} 
-.flag.flag-gu {background-position: -108px -60px} 
-.flag.flag-gw {background-position: -126px -60px} 
-.flag.flag-gy {background-position: -144px -60px} 
-.flag.flag-hk {background-position: -162px -60px} 
-.flag.flag-hm {background-position: -180px -60px} 
-.flag.flag-hn {background-position: -198px -60px} 
-.flag.flag-hr {background-position: -216px -60px} 
-.flag.flag-ht {background-position: -234px -60px} 
-.flag.flag-hu {background-position: -252px -60px} 
-.flag.flag-id {background-position: -270px -60px} 
-.flag.flag-ie {background-position: 0 -72px} 
-.flag.flag-il {background-position: -18px -72px} 
-.flag.flag-in {background-position: -36px -72px} 
-.flag.flag-io {background-position: -54px -72px} 
-.flag.flag-iq {background-position: -72px -72px} 
-.flag.flag-ir {background-position: -90px -72px} 
-.flag.flag-is {background-position: -108px -72px} 
-.flag.flag-it {background-position: -126px -72px} 
-.flag.flag-je {background-position: -144px -72px} 
-.flag.flag-jm {background-position: -162px -72px} 
-.flag.flag-jo {background-position: -180px -72px} 
-.flag.flag-jp {background-position: -198px -72px} 
-.flag.flag-ke {background-position: -216px -72px} 
-.flag.flag-kg {background-position: -234px -72px} 
-.flag.flag-kh {background-position: -252px -72px} 
-.flag.flag-ki {background-position: -270px -72px} 
-.flag.flag-km {background-position: 0 -84px} 
-.flag.flag-kn {background-position: -18px -84px} 
-.flag.flag-kp {background-position: -36px -84px} 
-.flag.flag-kr {background-position: -54px -84px} 
-.flag.flag-kw {background-position: -72px -84px} 
-.flag.flag-ky {background-position: -90px -84px} 
-.flag.flag-kz {background-position: -108px -84px} 
-.flag.flag-la {background-position: -126px -84px} 
-.flag.flag-lb {background-position: -144px -84px} 
-.flag.flag-lc {background-position: -162px -84px} 
-.flag.flag-li {background-position: -180px -84px} 
-.flag.flag-lk {background-position: -198px -84px} 
-.flag.flag-lr {background-position: -216px -84px} 
-.flag.flag-ls {background-position: -234px -84px} 
-.flag.flag-lt {background-position: -252px -84px} 
-.flag.flag-lu {background-position: -270px -84px} 
-.flag.flag-lv {background-position: 0 -96px} 
-.flag.flag-ly {background-position: -18px -96px} 
-.flag.flag-ma {background-position: -36px -96px} 
-.flag.flag-mc {background-position: -54px -96px} 
-.flag.flag-md {background-position: -72px -96px} 
-.flag.flag-me {background-position: -90px -96px} 
-.flag.flag-mg {background-position: -108px -96px} 
-.flag.flag-mh {background-position: -126px -96px} 
-.flag.flag-mk {background-position: -144px -96px} 
-.flag.flag-ml {background-position: -162px -96px} 
-.flag.flag-mm {background-position: -180px -96px} 
-.flag.flag-mn {background-position: -198px -96px} 
-.flag.flag-mo {background-position: -216px -96px} 
-.flag.flag-mp {background-position: -234px -96px} 
-.flag.flag-mq {background-position: -252px -96px} 
-.flag.flag-mr {background-position: -270px -96px} 
-.flag.flag-ms {background-position: 0 -108px} 
-.flag.flag-mt {background-position: -18px -108px} 
-.flag.flag-mu {background-position: -36px -108px} 
-.flag.flag-mv {background-position: -54px -108px} 
-.flag.flag-mw {background-position: -72px -108px} 
-.flag.flag-mx {background-position: -90px -108px} 
-.flag.flag-my {background-position: -108px -108px} 
-.flag.flag-mz {background-position: -126px -108px} 
-.flag.flag-na {background-position: -144px -108px} 
-.flag.flag-nc {background-position: -162px -108px} 
-.flag.flag-ne {background-position: -180px -108px} 
-.flag.flag-nf {background-position: -198px -108px} 
-.flag.flag-ng {background-position: -216px -108px} 
-.flag.flag-ni {background-position: -234px -108px} 
-.flag.flag-nl {background-position: -252px -108px} 
-.flag.flag-no {background-position: -270px -108px} 
-.flag.flag-np {background-position: 0 -120px} 
-.flag.flag-nr {background-position: -18px -120px} 
-.flag.flag-nu {background-position: -36px -120px} 
-.flag.flag-nz {background-position: -54px -120px} 
-.flag.flag-om {background-position: -72px -120px} 
-.flag.flag-pa {background-position: -90px -120px} 
-.flag.flag-pe {background-position: -108px -120px} 
-.flag.flag-pf {background-position: -126px -120px} 
-.flag.flag-pg {background-position: -144px -120px} 
-.flag.flag-ph {background-position: -162px -120px} 
-.flag.flag-pk {background-position: -180px -120px} 
-.flag.flag-pl {background-position: -198px -120px} 
-.flag.flag-pm {background-position: -216px -120px} 
-.flag.flag-pn {background-position: -234px -120px} 
-.flag.flag-pr {background-position: -252px -120px} 
-.flag.flag-ps {background-position: -270px -120px} 
-.flag.flag-pt {background-position: 0 -132px} 
-.flag.flag-pw {background-position: -18px -132px} 
-.flag.flag-py {background-position: -36px -132px} 
-.flag.flag-qa {background-position: -54px -132px} 
-.flag.flag-re {background-position: -72px -132px} 
-.flag.flag-ro {background-position: -90px -132px} 
-.flag.flag-rs {background-position: -108px -132px} 
-.flag.flag-ru {background-position: -126px -132px} 
-.flag.flag-rw {background-position: -144px -132px} 
-.flag.flag-sa {background-position: -162px -132px} 
-.flag.flag-sb {background-position: -180px -132px} 
-.flag.flag-sc {background-position: -198px -132px} 
-.flag.flag-sd {background-position: -216px -132px} 
-.flag.flag-se {background-position: -234px -132px} 
-.flag.flag-sg {background-position: -252px -132px} 
-.flag.flag-sh {background-position: -270px -132px} 
-.flag.flag-si {background-position: 0 -144px} 
-.flag.flag-sk {background-position: -18px -144px} 
-.flag.flag-sl {background-position: -36px -144px} 
-.flag.flag-sm {background-position: -54px -144px} 
-.flag.flag-sn {background-position: -72px -144px} 
-.flag.flag-so {background-position: -90px -144px} 
-.flag.flag-sr {background-position: -108px -144px} 
-.flag.flag-st {background-position: -126px -144px} 
-.flag.flag-sv {background-position: -144px -144px} 
-.flag.flag-sy {background-position: -162px -144px} 
-.flag.flag-sz {background-position: -180px -144px} 
-.flag.flag-tc {background-position: -198px -144px} 
-.flag.flag-td {background-position: -216px -144px} 
-.flag.flag-tf {background-position: -234px -144px} 
-.flag.flag-tg {background-position: -252px -144px} 
-.flag.flag-th {background-position: -270px -144px} 
-.flag.flag-tj {background-position: 0 -156px} 
-.flag.flag-tk {background-position: -18px -156px} 
-.flag.flag-tl {background-position: -36px -156px} 
-.flag.flag-tm {background-position: -54px -156px} 
-.flag.flag-tn {background-position: -72px -156px} 
-.flag.flag-to {background-position: -90px -156px} 
-.flag.flag-tr {background-position: -108px -156px} 
-.flag.flag-tt {background-position: -126px -156px} 
-.flag.flag-tv {background-position: -144px -156px} 
-.flag.flag-tw {background-position: -162px -156px} 
-.flag.flag-tz {background-position: -180px -156px} 
-.flag.flag-ua {background-position: -198px -156px} 
-.flag.flag-ug {background-position: -216px -156px} 
-.flag.flag-um {background-position: -234px -156px} 
-.flag.flag-us {background-position: -252px -156px} 
-.flag.flag-uy {background-position: -270px -156px} 
-.flag.flag-uz {background-position: 0 -168px} 
-.flag.flag-va {background-position: -18px -168px} 
-.flag.flag-vc {background-position: -36px -168px} 
-.flag.flag-ve {background-position: -54px -168px} 
-.flag.flag-vg {background-position: -72px -168px} 
-.flag.flag-vi {background-position: -90px -168px} 
-.flag.flag-vn {background-position: -108px -168px} 
-.flag.flag-vu {background-position: -126px -168px} 
-.flag.flag-wf {background-position: -144px -168px} 
-.flag.flag-ws {background-position: -162px -168px} 
-.flag.flag-ye {background-position: -180px -168px} 
-.flag.flag-yt {background-position: -198px -168px} 
-.flag.flag-za {background-position: -216px -168px} 
-.flag.flag-zm {background-position: -234px -168px} 
-.flag.flag-zw {background-position: -252px -168px} 
-</textarea></html> 
- 
-===== -- Vue d'ensemble ===== 
- 
-{{:slam4:php:phalcon:td1joueurs.png?700|}} 
  
  • slam4/php/phalcon/td2.1485306721.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)