magento
Structure MVC
Recherche…
Remarques
MVC signifie Model-View-Controller. Toute application qui sépare son accès aux données, sa logique applicative et son interface utilisateur s'appelle MVC. Il peut exister deux types de MVC: basés sur des conventions et sur des configurations. Exemple, CakePHP est basé sur des conventions, c.-à-d. Il suffit de suivre les instructions du système principal pour préparer votre module en quelques lignes seulement. Magento est basé sur la configuration, c’est-à-dire que vous devez spécifier chaque élément du fichier de configuration de votre module pour le faire fonctionner. Magento a un fichier Controller (pour le routage), Block, Model et Template. Comment fonctionne le MVC de Magento:
- Lorsque vous entrez l'URL (quelque chose comme http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , cette URL est interceptée par un fichier PHP appelé index.php qui instancie l'application Magento
- L'application Magento instancie l'objet Front Controller
- De plus, le contrôleur frontal instancie les objets du routeur (spécifiés dans le tag config.xml du module)
- Maintenant, le routeur est responsable de "faire correspondre" le nom de front qui se trouve dans notre URL
- Si «match» est trouvé, il voit le nom du contrôleur et le nom de la méthode dans l'URL, qui est finalement appelée.
- Maintenant, selon ce qui est écrit dans le nom de l'action (nom de la méthode), il est exécuté. Si des modèles y sont appelés, la méthode du contrôleur instanciera ce modèle et appellera la méthode demandée.
- Ensuite, l'action du contrôleur (méthode) instancie l'objet Layout, qui appelle Block spécifié pour ce nom d'action (méthode) (chaque nom d'action de contrôleur est associé à un fichier de bloc et de modèle, disponible dans app / design / frontend ou adminhtml / namespace / module / layout / module.xml, nom du fichier de mise en page (module.xml) se trouve dans config.xml de ce module, dans la balise de mise à jour de la mise en page).
- Le fichier modèle (.phtml) appelle maintenant le bloc correspondant pour toute demande de méthode. Donc, si vous écrivez $ this-> methodName dans le fichier .phtml, il vérifiera «methodName» dans le fichier bloc qui est associé au fichier module.xml.
- Block contient la logique PHP. Il référence les modèles pour toutes les données de la base de données.
- Si Block, Template ou Controller doit obtenir / définir des données depuis / vers la base de données, ils peuvent appeler Model directement comme Mage :: getModel ('modulename / modelname').
Comprendre MVC dans Magento
MVC Flow dans Magento
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow