Szukaj…


Uwagi

MVC oznacza Model-View-Controller. Każda aplikacja oddzielająca dostęp do danych, logikę biznesową i interfejs użytkownika nazywa się MVC. Istnieją dwa typy MVC: oparte na konwencjach i oparte na konfiguracji. Przykład: CakePHP jest oparty na konwencjach, tzn. Wystarczy postępować zgodnie z instrukcjami systemu podstawowego, aby przygotować moduł w zaledwie kilku wierszach. Magento jest oparte na konfiguracji, tzn. Musisz określić każdą rzecz w pliku konfiguracyjnym modułu, aby działał. Magento ma plik kontrolera (do routingu), bloku, modelu i szablonu. Jak działa Magento's MVC:

  1. Po wprowadzeniu adresu URL (coś w rodzaju http://mysite.com/frontname/controller/method/param1/value1/param2/value2) ten adres URL jest przechwytywany przez jeden plik PHP o nazwie index.php, który tworzy instancję aplikacji Magento
  2. Aplikacja Magento tworzy obiekt Front Controller
  3. Ponadto kontroler frontowy tworzy instancje obiektów routera (określone w config.xml modułu, znacznik globalny)
  4. Teraz Router jest odpowiedzialny za „dopasowanie” nazwy frontowej znajdującej się w naszym adresie URL
  5. Jeśli zostanie znalezione „dopasowanie”, zobaczy nazwę kontrolera i nazwę metody w adresie URL, który jest ostatecznie wywoływany.
  6. Teraz, w zależności od tego, co jest zapisane w nazwie akcji (nazwa metody), jest wykonywane. Jeśli zostaną w nim wywołane jakiekolwiek modele, metoda kontrolera utworzy instancję tego modelu i wywoła żądaną metodę w nim.
  7. Następnie akcja kontrolera (metoda) tworzy instancję obiektu Layout, który wywołuje Blok określony dla tej akcji (metody) nazwa (każda nazwa akcji kontrolera ma powiązany blok i plik szablonu, który można znaleźć w app / design / frontend lub adminhtml / plik namespace / module / layout / module.xml, nazwę pliku układu (module.xml) można znaleźć w config.xml tego modułu, w znaczniku aktualizacji układu).
  8. Plik szablonu (.phtml) wywołuje teraz odpowiedni blok dla dowolnego żądania metody. Tak więc, jeśli napiszesz $ this-> methodName w pliku .phtml, sprawdzi on „methodName” w pliku bloku, który jest powiązany z plikiem module.xml.
  9. Blok zawiera logikę PHP. Odwołuje się do modeli dla dowolnych danych z DB.
  10. Jeśli blok, plik szablonu lub kontroler muszą pobrać / ustawić dane z / do bazy danych, mogą wywołać Model bezpośrednio jak Mage :: getModel („nazwa modul / nazwa modelu”).

Zrozum MVC w Magento

wprowadź opis zdjęcia tutaj

MVC Flow w Magento

wprowadź opis zdjęcia tutaj



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow