M3202 structuré 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 IGNITEUR • http://codeigniter.fr/ • Le framework léger qui monte... • Et qui retombe... :-( « MINI » FRAMEWORK MODX • Utilisation d'un « mini »framework • Modx : cms ou framework, (« cmwork » :-) … ) • 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) • En S4… • DÉVELOPPER EN MVC FROM SCRATCH Classique MVC DÉVELOPPER EN MVC FROM SCRATCH Classique: catalogue.php DÉVELOPPER EN MVC FROM SCRATCH MVC: m_articles.php / v_articles.php / c_articles.php DÉVELOPPER EN MVC FROM SCRATCH exemple 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 SCRATCH le fichier Modele: • remarques: • « m_articles.php » dans le dossier « model » •ici on utilise PDO à la place de mysqli de la •il décrit l’accès aux données nécessaires à l’affichage •et une nouvelle methode page fetchAll() qui recupere tous le •il peut comporter plusieurs méthodes resultat •ici une seule méthode qui renvois tous les articles danspour un le mettre dans un tableau tableau ! DÉVELOPPER EN MVC FROM SCRATCH • remarques: • on utilisera ici la boucle « foreach » pour le fichier Controleur: traiter tous les articles récupérés et passer chaque designation en majuscule. Cette ! • « c_articles.php » dans le dossierfonction « foreach » est très pratique pour parcourir tous les éléments d’un tableau « contrôler » • il est l’élément principal, celui que• l’on on utilisera aussi la fonction strtoupper() appelle pour afficher la page, pour transformer une chaine en majuscule • 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) • puis il les traiteras (ici dans l’exercice, il devra mettre toutes les descriptions en majuscule) puis il renverra les infos traitées vers la vue qui les affichera en les mettant en forme DÉVELOPPER EN MVC FROM SCRATCH ici seul des petits blocs de php sont nécessaires: •un « foreach » pour traiter tous les articles •et des echo pour chaque champ à afficher 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ôleur DÉVELOPPER EN MVC FROM SCRATCH Appel d’une page développer en MVC: ! • cela consiste en 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 ! • 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. • ici il est nécessaire de modifier légèrement les chemins d’accès dans les contrôleur… DÉVELOPPER EN MVC FROM SCRATCH 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) •…
© Copyright 2025 ExpyDoc