Suche…


Bemerkungen

MVC steht für Model-View-Controller. Jede Anwendung, die Datenzugriff, Geschäftslogik und Benutzeroberfläche trennt, wird als MVC bezeichnet. Es gibt zwei MVC-Typen: konventionsbasiert und konfigurationsbasiert. Beispielsweise ist cakePHP konventionsbasiert, dh Sie müssen nur die Anweisungen des Kernsystems befolgen, um Ihr Modul in wenigen Zeilen fertig zu stellen. Magento ist konfigurationsbasiert, dh Sie müssen jedes Element in der Konfigurationsdatei Ihres Moduls angeben, damit es funktioniert. Magento verfügt über Controller- (für Routing), Block-, Modell- und Vorlagendatei. So funktioniert Magentos MVC:

  1. Wenn Sie die URL eingeben (z. B. http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , wird diese URL von einer PHP-Datei namens index.php abgefangen, die die Magento-Anwendung instanziiert
  2. Die Magento-Anwendung instantiiert das Front Controller-Objekt
  3. Front-Controller instantiiert außerdem Router-Objekte (in config.xml des Moduls angegeben, globales Tag).
  4. Nun ist der Router dafür verantwortlich, dass der in unserer URL angegebene Frontname „übereinstimmt“
  5. Wenn "Übereinstimmung" gefunden wird, werden Controller-Name und Methodenname in der URL angezeigt, die schließlich aufgerufen wird.
  6. Je nachdem, was in Aktionsname (Methodenname) geschrieben wird, wird es ausgeführt. Wenn Modelle darin aufgerufen werden, instanziiert die Controller-Methode dieses Modell und ruft die angeforderte Methode auf.
  7. Dann instanziiert die Controller-Aktion (Methode) das Layout-Objekt, das den für diese Aktion (Method) angegebenen Namen Block aufruft (Jeder Controller-Action-Name hat eine Block- und Vorlagendatei, die unter app / design / frontend oder adminhtml / zu finden ist. Name des Namespace / module / layout / module.xml, Name der Layoutdatei (module.xml) befindet sich in config.xml dieses Moduls im Tag "layout updates".
  8. Die Vorlagendatei (.phtml) ruft jetzt den entsprechenden Block für jede Methodenanforderung auf. Wenn Sie also $ this-> methodName in die .phtml-Datei schreiben, wird "methodName" in der Blockdatei geprüft, die in der Datei module.xml zugeordnet ist.
  9. Block enthält PHP-Logik. Es verweist auf Modelle für beliebige Daten aus der Datenbank.
  10. Wenn entweder Block, Template-Datei oder Controller Daten aus der / in die Datenbank abrufen / festlegen müssen, können sie Model direkt wie Mage :: getModel ('modulename / modelname') aufrufen.

MVC in Magento verstehen

Geben Sie hier die Bildbeschreibung ein

MVC Flow in Magento

Geben Sie hier die Bildbeschreibung ein



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow