Programmation PHP/Les cadriciels
Un livre de Wikibooks.
Les cadriciels, plus connus sous le terme framework, sont un ensemble de bibliothèques, scripts destinés aux projets professionnels et au travail en équipe.
Issu d'une longue réflexion et de maturation, le cadriciel permet au développeur de s'affranchir des contingences de sécurité, ergonomie (bouton, habillage) afin de ne se concentrer que sur les fonctionnalités de son application.
Sur le modèle des cadriciels Java ou Ruby on rails, certains cadriciels PHP se démarquent comme CakePHP, Prado et Symfony.
Sections |
[modifier] Modèle-vue-contrôleur
Ils se basent sur le plus utilisé des motifs de conception : le modèle-vue-contrôleur
qui sépare le modèle de données, l'interface utilisateur et les traitements, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue et le contrôleur.
- Le modèle ne s'occupe que du traitements des données, lire depuis une base de données, insérer des lignes dans une base, vérifier que les données sont bien formatées (validation).
- la vue correspond à tout ce qui concerne l'affichage pour l'utilisateur. Cela ne contient généralement que des modèles (template) de pages avec la logique de présentation. C'est une caractéristique forte de MVC, seule cette partie est à mettre-à-jour pour changer l'apparence de votre application.
- le contrôleur prend en charge le déroulement du programme. La liste des actions sera dans le contrôleur.
Le programmeur peut être dérouté par la séparation en morceaux imposée mais le premier objectif de MVC est la maintenance à long terme.
[modifier] Le cadriciel CakePHP
CakePHP est un framework de type Rapid Application Developpement (RAD) utilisant le motif de conception modèle-vue-contrôleur.
Le moyen d'appréhender l'intérêt d'un cadriciel est par l'exemple. Après l'installation nous l'emploierons pour créer un formulaire simple d'enregistrement des données d'un utilisateur (nom, prénom, email, mot-de-passe) stockée dans une table de base de données. Ensuite, ce formulaire sera amélioré par l'ajout de vérifications et de validation des données. Pour conclure, l'on ajoutera une page d'identification.
[modifier] Le cadriciel Symfony
Symfony est un framework MVC libre écrit en PHP 5. En tant que framework, il facilite et accélère le développement de sites et d'applications Internet et Intranet.
[modifier] Fonctionnalités
Symfony propose entre autres :
- Une séparation du code en trois couches, selon le modèle MVC, pour une plus grande maintenabilité et évolutivité
- Un templating simple, basé sur PHP et des jeux de "helpers", ou fonctions additionnelles pour les gabarits...
- Des performances optimisées et un système de cache pour garantir des temps de réponse optimums
- Une gestion des url parlantes, qui permet de formater l'url d'une page indépendamment de sa position dans l'arborescence fonctionnelle
- Un système de configuration en cascade qui utilise de façon extensive le langage YAML
- Un générateur de back-office et un "démarreur de module" (scaffolding)
- Un support de l'I18N - symfony est nativement multi-langue,
- Une couche de mapping objet-relationnel (ORM) et une couche d'abstraction de données
- Le support de l'Ajax
- Une architecture extensible, permettant la création et l'utilisation de plugins
[modifier] Liens externes
- #symfony : channel IRC (#symfony sur Freenode)
- #symfony-fr : channel IRC francophone (#symfony-fr sur Freenode)
[modifier] Le cadriciel Zend Framework
Zend Framework est un cadriciel web basé sur MVC livré avec de nombreux composants (email, services web, l'I18N, etc).
