magento
MVC-structuur
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:
- 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
- Magento-toepassing instantieert Front Controller-object
- Verder instantieert de voorste controller routerobjecten (gespecificeerd in module config.xml, global tag)
- Nu is de router verantwoordelijk voor het "matchen" van de voornaam die in onze URL staat
- Als "match" wordt gevonden, ziet deze de controller- en methodenaam in de URL, die uiteindelijk wordt aangeroepen.
- 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.
- 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).
- 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.
- Blok bevat PHP-logica. Het verwijst naar modellen voor alle gegevens uit DB.
- 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
MVC-stroom in Magento
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow