Zoeken…


Opmerkingen

MVC staat voor Model-View-Controller. Elke toepassing die zijn gegevenstoegang, bedrijfslogica en gebruikersinterface scheidt, wordt MVC genoemd. Er kunnen twee soorten MVC zijn: op conventie gebaseerd en op configuratie gebaseerd. CakePHP is bijvoorbeeld gebaseerd op conventie, dat wil zeggen dat u alleen de instructies van het kernsysteem moet volgen om uw module in slechts enkele regels gereed te maken. Magento is op configuratie gebaseerd, dat wil zeggen dat u alles in het configuratiebestand van uw module moet specificeren om het te laten werken. Magento heeft Controller (voor routing), Block, Model en Template file. Hoe Magento MVC werkt:

  1. Wanneer u de URL invoert (zoiets als http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , wordt deze URL onderschept door één PHP-bestand met de naam index.php dat de Magento-toepassing instantieert
  2. Magento-toepassing instantieert Front Controller-object
  3. Verder instantieert de voorste controller routerobjecten (gespecificeerd in module config.xml, global tag)
  4. Nu is de router verantwoordelijk voor het "matchen" van de voornaam die in onze URL staat
  5. Als "match" wordt gevonden, ziet deze de controller- en methodenaam in de URL, die uiteindelijk wordt aangeroepen.
  6. Afhankelijk van wat er in de actienaam (methode naam) staat, wordt het nu uitgevoerd. Als er modellen in worden geroepen, zal de controller-methode dat model instantiëren en de methode erin oproepen die wordt gevraagd.
  7. Vervolgens instantieert de controlleractie (methode) het lay-outobject, dat Block aanroept dat is opgegeven voor deze actie (methode) naam (aan elke controlleractienaam is een blok en sjabloonbestand gekoppeld, dat te vinden is in app / design / frontend of adminhtml / namespace / module / layout / module.xml-bestand, naam van het lay-outbestand (module.xml) is te vinden in config.xml van die module, in de tag voor lay-outupdates).
  8. Sjabloonbestand (.phtml) roept nu het overeenkomstige blok aan voor elk methodeverzoek. Dus als u $ this-> methodName in het .phtml-bestand schrijft, zal het "methodName" in het blokbestand controleren dat aan het bestand module.xml is gekoppeld.
  9. Blok bevat PHP-logica. Het verwijst naar modellen voor alle gegevens uit DB.
  10. Als Block, Template file of Controller bepaalde data uit / naar database moet halen / instellen, kunnen ze Model direct aanroepen zoals Mage :: getModel ('modulename / modelname').

Begrijp MVC in Magento

voer hier de afbeeldingsbeschrijving in

MVC-stroom in Magento

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow