FuelPHP - Présentation de l'architecture
FuelPHP est basé sur des tests de combat Model-View-Controller l'architecture avec HMVC (Hierarchical MVC)soutien. Alors que MVC fournit un développement d'applications flexible et en couches, HMVC va encore plus loin pour permettre la widgetisation de l'application Web.
La force de FuelPHP est qu'il n'applique pas de moyens spécifiques pour développer une application. Il fournit simplement une structure standard simple et facile à utiliser. Les développeurs sont libres d'utiliser l'ensemble prédéfini de fonctionnalités fournies par FuelPHP ou de le modifier chaque fois que nécessaire. Toutes les fonctionnalités fournies par FuelPHP, y compris la fonctionnalité principale, peuvent être modifiées en fonction des besoins de l'application.
Modèle
Le modèle est l'entité commerciale de l'application. Controller et View échangent des données sous la forme de Model. Le modèle permet une représentation uniforme de nos données commerciales. Il permet à la couche de base de données d'interagir avec la couche d'application Web de manière standard et fournit une option pour sélectionner, enregistrer, modifier et supprimer nos entités de base de données.
Manette
Une application MVC typique démarre à partir d'un contrôleur. Une fois qu'un utilisateur envoie une demande à l'application Web FuelPHP, l'application rassemble toutes les informations sur la demande et les envoie au contrôleur. Le contrôleur exécute la logique métier requise de la page demandée, puis appelle la vue correspondante avec les données traitées sous la forme de modèles.
Vue
La vue est la couche de présentation de l'application MVC. View décide comment montrer le modèle à l'utilisateur. Il prend en charge le rendu simple des données dans la mise en page avancée, ce qui permet au site Web de normaliser la conception sur toutes les pages. View fournit également une prise en charge de la thématique, ce qui permet une modification rapide de la conception dans toute l'application.
Présentateur
Presenter est une fonction spéciale fournie par FuelPHP. C'est le lien entre Controller et View. Le contrôleur peut partager certaines de ses responsabilités de bas niveau telles que la récupération du modèle de la base de données, la génération de données pour la vue, etc. Le contrôleur appelle Presenter au lieu de View, qui à son tour appelle View. Presenter permet une séparation pure entre la logique métier et la couche de présentation.
MVC hiérarchique
FuelPHP fournit une option pour appeler un contrôleur à partir d'un autre contrôleur, similaire à la demande du client (navigateur). Si un contrôleur appelle un autre contrôleur, le contrôleur appelé retournera la réponse au contrôleur appelant au lieu de la restituer au client (navigateur). Cela permetwidgetizationde l'application Web. Par exemple, la section des commentaires peut être affichée comme une page autonome ainsi que comme une sous-section de la page principale (blog).
Module
L'une des principales caractéristiques de FuelPHP est qu'une section de l'application Web peut être convertie en modules, qui peuvent être partagés entre les différentes applications. Par exemple, un module de blog créé pour une application peut être réutilisé dans une autre application en copiant simplement le code du module de l'application source vers l'application cible.
Notez que créer un nouveau module est aussi simple que de développer l'application principale. La structure est similaire à l'application principale à la seule exception que le module doit coder un dossier séparé.
Paquet
FuelPHP fournit une option pour organiser le code en une seule unité appelée Package. Un package peut contenir une ou plusieurs fonctionnalités nécessaires à l'application Web. Par exemple, un composant de base de données tel que ORM, e-mail, etc., peut être organisé dans un package et utilisé chaque fois que nécessaire.
Un package est différent d'un module en ce sens que le package ne contient aucune page Web ni aucune page Web partielle. Le package peut être utilisé dans FuelPHP ainsi que dans tout autre framework PHP.
Flux de travail
Le flux de travail du FuelPHP est simple et facile à comprendre. Il est illustré dans le diagramme suivant.
L'utilisateur envoie une demande à l'application.
Le contrôleur reçoit la demande et recueille des informations en interagissant avec le modèle, qui à son tour interagit avec la base de données.
Le contrôleur recueille des informations en interagissant avec un autre contrôleur en envoyant une sous-demande aux autres contrôleurs.
Le contrôleur envoie le modèle récupéré à la vue, qui à son tour génère la présentation et l'envoie au client en tant que réponse.
Dans certains cas, le contrôleur peut passer le contrôle au présentateur. Dans ce cas, le présentateur rassemble les informations du modèle et les envoie au client. Ici, le présentateur n'effectue aucune logique métier, sauf pour récupérer le modèle de la base de données.