od Podstaw
5 godz. 56 min · PHP · Full-stack i Programowanie
Patryk WaluśBackend DeveloperZanim przejdziemy do omawiania możliwości Magento, przedstawię Ci w jaki sposób skonfigurować środowisko developerskie oraz jak zainstalować nowy projekt. Omówimy też polecenia i narzędzia, które są przydatne podczas pracy developerów.
Rozpoczniemy od przedstawienia oraz omówienia funkcji poszczególnych katalogów, które znajdują się w projekcie. Po wstępie stworzymy swój pierwszy moduł oraz przedstawię podstawowe techniki wykorzystywane przez Magento do zarządzania konfiguracjami czy modułami.
Magento wykorzystuje bardzo popularny wzorzec MVC, który składa się z trzech elementów. Aby z łatwością rozumieć jak system obsługuje żądania HTTP najpierw przestawię ogólne działanie MVC, a następnie jak to działa w Magento.
Szczegółowe omówienie wzorca MVC rozpoczniemy od literki C czyli Controller'a. W tym rozdziale dowiesz się jak zarejestrować w systemie nową ścieżkę, jak pobierać parametry oraz w jaki sposób zwrócić rezultat odpowiedni dla danego przypadku.
Gdy już zarejestrujemy nową stronę, konieczne będzie zdefiniowanie jej wyglądu. Dlatego też, przedstawię Ci jak to zrobić oraz jakie możliwości Magento udostępnia do manipulacji układem stron. Omówię różnice między kontenerem, a blokiem oraz pokaże jak modyfikować tagi w sekcji.
Aby wcześniej dodana strona była funkcjonalna, konieczna jest jej integracja z bazą danych. Do tego celu stworzymy m.in. Model, za pomocą którego będziemy komunikować się z MySQL. Przedstawię Ci też dobre praktyki, które pozwalają na tworzenie kodu wysokiej jakości.
W ostatnim rozdziale omówimy konfigurację nowego motywu w Magento. Pozwoli Ci to zrozumieć jak tworzyć różne wersje wyglądu dla sklepów internetowych.
Ten kurs w szczególności przyda się osobom, które chcą poznać podstawy framework'a Magento 2. Przedstawione w nim fundamentalne informacje pomogą zrozumieć sposób działania systemu, a także w jaki sposób można dodawać czy rozszerzać swój projekt o nowe funkcjonalności.
Poprzedniej lekcji udało się nam
wykorzystać model do zapisu oraz pobrania informacji z bazy danych.
Pojawiły się jednak dwa problemy.
Pierwszym problemem jest to że wykorzystaliśmy represjonowany metody LOT
oraz sejf a następnym Problemem natomiast jest to że w ww.
modelu czyli w klasie Vu stworzyliśmy nowy
obiekt brat następnie zachowaliśmy informacje z bazy danych.
Problemem jest to że klasa w modelu nie
powinna zajmować się w ogóle tworzeniem obiektów ani ładowanie.
Tym bardziej informacji z bazy danych.
Dodatkowo jeśli byśmy np.
w metodzie info zwrócili obiekt Brand no to szablon HTML mielibyśmy dostęp do
modelu brat i moglibyśmy nawet w szablon wykonać operację sejf czy też LOT.
Co by było totalnie nieodpowiedzialne z punktu widzenia dewelopera systemu.
Każdy element systemu powinien zajmować
się swoją częścią zajmować się jedną odpowiedzialnością.
Czyli jeśli model przygotowuje pewne
informacje dotyczące Marek on powinien już nie ładować tego modelu nie ładować żadnej
informacji z bazy danych tylko powinien pobrać gotowy obiekt już załadowane dane.
Dodatkowo też nie powinien mieć możliwości
manipulacji na bazie danych i dlatego też często wykorzystuje coś
takiego jak serwis kontrakt przejdziemy do dokumentacji
w której opisane są serwisy kontrakt w ogólnym rozumieniu jest to umowa pomiędzy
firmą a klientem na dostarczenie pewnych usług.
Przekładając to na świat IT moduł powinien
zdefiniować pewne interfejsy danych lub też interfejsy usług które zapewniają
integralność danych oraz integralność usług.
W dokumentacji znajduje się diagram na którym właśnie znajduje się pewien obszar
w którym zawarte są interfejsy danych oraz interfejsy usług.
I co ważne kontrolery czy też inne serwisy służbowe a nawet modele i modele
wykorzystują właśnie data interfejs oraz serwis interfejsy do komunikacji dzięki
czemu integralność danych oraz usług jest zachowana.
Następnej lekcji pokaże w jaki sposób wykorzystywać serwis kontrakt oraz jak
zaimplementowane interfejsy danych oraz usług w naszym Module.