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.
W tej lekcji zademonstrował w jaki sposób
przetwarzane są żądania przez to i w jaki sposób zaimplementowane jest wzorzec CVC.
Do tego celu przed lekcją skonfigurować
narzędzie X które zostało zainstalowane w PHP w wersji 7 4.
W kolejnych lekcjach nie jest ono potrzebne więc nie musisz tego robić.
Ja na przykładzie pt Historia pokaże tylko
pewne linie kodu oraz jakie są w nich zawarte zmienne natomiast
nie musisz tego sam instalować aby zademonstrować w jaki sposób to
przetwarza żądania HTTP oraz w jaki sposób zaimplementowane został wzorzec VC.
Do demonstracji użyje strony koszyka do koszyka został dodany pewien produkt
następnie upewnił się że X na bakier jest poprawnie połączony z 5 historią.
I teraz po otworzeniu strony nasz pierwszy pastor
zatrzyma przetwarzanie kodu w pliku PAP indeks PHP.
Dokładnie tak się stało.
Zatrzymał się na linii 12 tu nic ciekawego się nie dzieje.
Przejdźmy do linii 29 w której znajduje się break point.
Przygotowany został przez obiekt but Trap
zmienna AP która następnie zostanie przekazana dalej do metody Run.
Wchodzimy do niej.
Tutaj są wykonywane pewne procesy które
zapewniają że wszystko jest poprawnie zainstalowane.
Natomiast jak już to wszystko zostanie sprawdzone kod przechodzi do momentu gdzie
uruchamiana jest metoda Application Launch.
Po wykonaniu metody do zmiennej Lis po wykonaniu metody do
obiektu Response zostaną zwrócone informacje o kodzie HTTP czyli np.
czy jest to kod 200 400 a następnie za pomocą metody Sentinel
zostanie wyreżyserowana zawartość tego obiektu.
Na razie przechodzimy dalej czyli do Application lunch.
Przypominamy sobie ten kod nie jest to teraz ważne.
Po wejściu do metody lunch widzimy że
obiekt realizator pobiera za pomocą metody GET OUT czyli na podstawie
front który jest zawarty w URL i które było powiedziane wcześniej.
Może to rozpoznaje w jakiej się znajdujemy.
Czy jest to front czy admin HTML.
Itd.
Przejdźmy dalej.
Do zmiennej aria kot została zapisana wartość front czyli może to że jesteśmy w
strefie frontu i następnie do obiektu statek jest przekazywany kod strefy oraz
zmienna obiekt menadżer obiekt obiekt menadżer konfigurację aby załadować tylko
i wyłącznie konfigurację dla klasy z strefy frontem.
Przechodząc dalej maczetą pobierze za pomocą obiekt
menadżera odpowiednią instalację interfejsu front kontroler interface.
Zobaczmy dokładnie jaką on pobierze do zmiennej front kontroler został
przypisany obiekt który nazywa się to framework up front kontroler
mamy do wyboru inne implementację tego interfejsu np.
Rest stop i teraz w zależności w jakiej
strefie się znajdujemy to zostanie załadowane odpowiednia klasa.
Z racji że jesteśmy w strefie frontu znajdował się kontroler i ten kontroler.
Wróćmy do kodu ma metodę.
Każda klasa która prezentuje interfejs
front kontroler interfejs musi mieć tę metodę zaimplementowane.
Dlatego też wejdziemy do niej i zobaczymy
jak to wygląda na przykładzie obiektu front kontroler.
Dlatego też przejdziemy do środka metody deathmatch.
Ta klasa zajmuje się sprawdzeniem czy w systemie został poprawnie zarejestrowany
kontroler oraz akcja która odpowiada danemu adresu URL.
W przypadku naszego jest to kontroler czekał indeks
uruchomimy dalej KOD i powinniśmy zatrzymać się w pliku kontrolera.
Dokładnie tak się stało
to wykryła że istnieje odpowiednia akcja która odpowiada danemu adres URL
i w tym momencie widzimy metodę od której znajduje się logika biznesowa w
tym przypadku jest to tylko i wyłącznie wygenerowanie po prostu strony z koszykiem
i następnie tutaj tego co prawda nie widać ale w blokach które zajmują się
pobraniem informacji o dostępnych pozycjach w koszyku
pobrane są z bazy danych właśnie te informacje i następnie przekazane do
szablonu którym teraz się znajdziemy jak wejdziemy jak wznowi nasz program.
Kod zatrzymał się w pliku w formacie HTML
który odpowiada za wygenerowanie informacji o pozycjach
znajdujących się w koszyku możemy tutaj zobaczyć że jest taka metoda jak Get It na
obiekcie blog który pobiera z bazy danych pozycje znajdujący się w koszyku a
następnie zajmuje się kierowaniem tych informacji.
Cały plik szablonu jest to plik HTML połączony z kodem PHP.
Wznowienie kodu pozwoli nam na powrót do poprzedniej klasy.
Kod zatrzymał się nam w linii 132 w której zostaje zwrócony obiekt.
Response to jak już wcześniej wspomniałem ten obiekt jest następnie przypisywany też
do zmiennej Response w klasie trap i następnie to wysyła list do naszej
przeglądarki dzięki czemu możemy zakończyć wykonywanie tego kodu.
W tym rozdziale dowiedzieliśmy się jak
wygląda wzorzec MV C oraz jak został on zaimplementowane w systemie maczetą.
W kolejnych rozdziałach przedstawię
każdy poszczególne elementy wzorca NFC czyli zaczniemy od omawiania kontrolerów.
Następnie omówił widoki i na samym końcu powiemy sobie o modelach.