20
M3202 structuré son developpement avec MVC

introMVC cm1 - version etudiantsrc.iut-troyes.univ-reims.fr/~fmeuzeret/vrac/docs/m3202~introMVC... · CAKEPHP • ! • Basé sur le principe de Ruby on Rails! • Développé en

  • Upload
    lybao

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

M3202structuré son developpement

avec MVC

RAPPEL

• FRAMEWORK et MVC ou ça?

LES FRAMEWORKS

• Un framework est un espace de travail modulaire.

• C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications.

• Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir.

RUBY ON RAILS

• www.rubyonrails.org

• Les plus • Puissant • Orienté MVC

• Modele / Vue / Controleur • Les moins

• Nécessite un serveur configuré spécifiquement • Langage spécifique à Ruby on Rails

CAKEPHP

• www.cakephp.org

• Basé sur le principe de Ruby on Rails

• Développé en php

• Langage de développement: php

• Basé sur MVC

CODE IGNITER

• http://codeigniter.fr/

• Le framework léger qui monte...

• Et qui retombe... :-(

« MINI » FRAMEWORK MODX

• Utilisation d'un « mini »framework

• Modx : cms ou framework, (« cmf » :-) … )

• http://wiki.modxcms.com/index.php/Fr :Page_Principal

FRAMEWORK SYMFONY 2

• Utilisation de SYMFONY 2

• les plus: • MVC • puissant

• les moins: • nécessite une bonne culture du

développement (POO) • à voir en S4…

DÉVELOPPER EN MVC FROM SCRATCH

Classique MVC

DÉVELOPPER EN MVC FROM SCRATCH

Classique: catalogue.php

DÉVELOPPER EN MVC FROM SCRATCHMVC: m_articles.php / v_articles.php / c_articles.php

DÉVELOPPER EN MVC FROM SCRATCHexemple d’illustration: sur le cas « DUTAF de MMI1, nous souhaitons afficher la liste des articles avec la designation toujours en majuscule

DÉVELOPPER EN MVC FROM SCRATCH

organisation physique

pour l’instant pas de fichier index.php, ce fichier servira par la suite de « routage »

DÉVELOPPER EN MVC FROM SCRATCHle fichier Modele: !

•« m_articles.php » dans le dossier « model » •il décrit l’accès aux données nécessaires à

l’affichage de la page •il peut comporter plusieurs méthodes •ici une seule méthode qui renvois tous les

articles dans un tableau •on peut aussi faire des traitements dans les

méthodes (ex get_articles_maj() ) •ici le traitement est fait en php mais il peut être

fait en sql aussi2 versions possibles

DÉVELOPPER EN MVC FROM SCRATCH

le fichier Controleur: !

• « c_articles.php » dans le dossier « contrôler »

• il est l’élément principal, celui que l’on appelle pour afficher la page,

• c’est lui qui fera appelle au modele pour récupérer les données, (renvoyé dans un tableau stocké ici dans la variable $articles)

• dans certain cas les données pourront être traité ici (mais nous privilégierons le traitement directement dans le modele) puis il renverra les infos traitées vers la vue qui les affichera en les mettant en forme

DÉVELOPPER EN MVC FROM SCRATCH

le fichier Vue: !

• « v_articles.php » dans le dossier « view »

• il va récupérer les données traitées par le contrôleur et les afficher à travers une mise en forme html/css,

• il est appelé par le contrôleurici seul des petits blocs de php sont nécessaires: •un « foreach » pour traiter tous les articles •et des echo pour chaque champ à afficher

DÉVELOPPER EN MVC FROM SCRATCH

Appel d’une page développer en MVC: !

• cela consiste toujours dans l’appel du contrôleur,

• il se chargera d’appeler le modele pour récupérer les données, puis fera subir le traitement éventuel (ici mise en majuscule) et renverra les données traitées vers la vue pour les afficher

DÉVELOPPER EN MVC FROM SCRATCH

Mettre en place un routage élémentaire: amélioration du routage avec l’urlrewriting • le routage permet de gérer l’appel des différentes page en

appelant les controleurs adéquates • ce n’est pas une nécessité, mais cela centralise la gestion du

site. (les frameworks comme symfony utilisent des outils de routage puissant.)

il faut que l’urlrewriting soit actif sur le serveur, ensuite rédiger des regles de routage pour avoir une url plus

DÉVELOPPER EN MVC FROM SCRATCH

Mettre en place un routage élémentaire: le fichier htaccess peut être enrichi de toute les routes nécessaires vers tous vos controleurs:

sur le serveur 195.83.128.55 la premiere ligne est nécessaire (mettre le bon chemin!)

DÉVELOPPER EN MVC FROM SCRATCH

Nous venons de voir une méthode de développement MVC la plus rudimentaire, (un micro Framework « fait maison »)

!• Les frameworks (comme symfony) propose une API bien plus complete et bien plus efficace mais qui

nécessite aussi un apprentissage bien plus long et de bonnes bases en développement et surtout Symfony ajoute en plus du MVC beaucoup d’autres concepts:

• outils de gestion de template (Twig) • outils de package de pluging (Bundle) • outils e gestion de base de données (ORM Doctrine) • outils de gestion de dépendance (composer) • outils de creation en ligne de commande (php symfony) • …