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 pokaże w jaki sposób ręcznie
skonfigurować model oraz kolekcję jednak wspomnę że nie jest to wykonywane
za każdym razem przez do deweloperów ręcznie.
Do tego są laguny czy też specjalne
generatory kodu które robią to za nas za pomocą jednego kliknięcia.
Jednak dla celów dydaktycznych zrobimy to ręcznie.
Przejdziemy więc do edytora kodu.
Zaczniemy od dodania nowego katalogu w module Brand.
Katalog ten będzie nazywał się Mode.
I następnie dodamy w nim klasę Brand która będzie naszym pierwszym modelem.
Konieczne będzie jeszcze ustawienie na.
Następnie model musi rozszerzać klasy abstrakcyjne abstrakcji.
Młode pełna ścieżka do tej klasy to jest to framework Mode a w model.
Aby model został poprawnie zarejestrowany
konieczne będzie zaimplementowane metody podkreślił konstruktor.
Bardzo ważne jest aby zwrócić uwagę na to
że nie jest to konstruktor klasy brat tylko nazwa tej metody.
Pokrywa się z właśnie metodą konstrukcji
że metoda domyśla PHP jest po pierwsze publiczna.
I zawiera dwa podkreślenia to jest właśnie domyślny konstruktor klas.
Natomiast to przygotowało metodę podobną właśnie do tego aby stworzyć nowy model.
W tym przypadku brat i teraz konieczne będzie zarejestrowanie Records modelu.
Zaraz opowiem czym się zajmuję model czym się zajmuję.
Resort dalej jednak dokończy implementację metody konstrukcji konieczne będzie
wykorzystanie zmiennej wskazującej na dany obiekt następnie metody i nic.
Z racji że jeszcze nie powstał model przygotujemy nazwę klasy.
Natomiast za chwilę też przygotujemy implementację tego modelu.
Wpisujemy więc pełną ścieżkę dla klasy.
Tak więc czym różni się model od Records modelu.
Model reprezentuje wiersz w tabeli w bazie danych tak więc jeden obiekt klasy model
będzie odpowiadał jednemu rekordowej z bazy danych.
Dodatkowo modele udostępniają możliwość pobierania danych za pomocą np.
metod G DATA lub też ustawienia danych czy
też wartości dla danego modelu za pomocą metod set data.
Dodatkowo modele są przesyłane w obrębie systemu i to na nich dokonywane są pewne
zmiany które następnie mają zostać propagowaniem do bazy danych.
W odróżnieniu od list oraz modeli które
zajmują się tylko i wyłącznie tworzeniem danego modelu na operacje SQL które np.
w zależności gdy chcemy pobrać dany model
z bazy danych to resort model przygotowuje SQL Select.
Jeśli konieczne jest zapisanie pewnego
modelu bazy danych to resort model na podstawie danego modelu przygotowuje SQL i
dokonuje odpowiednich manipulacji w bazie danych.
Tak więc model zajmuje się przechowywaniem
oraz manipulacją danych natomiast resort model zajmuje się tworzeniem danego modelu
i zapisanie lub też pobraniem informacji z bazy lub do bazy danych.
Wracając do edytora kodu zaimplementowane klasę resort model.
Resort model musi rozszerzać klasę abstrakcji DB.
Dokładna pełna nazwa to framework model
model DB i to właśnie w tej klasie abstrakcyjnej zawarte są wszystkie
operacje generujące SQL i wykonujące zapytania do bazy danych
aby resort modele wiedział skąd ma pobrać dane z bazy danych czyli z jakiej tabeli
oraz jaka kolumnę identyfikuje rekord w bazie danych.
Konieczne będzie zaimplementowane metody
tak jak zrobiliśmy to w modelu dlatego też prezentujemy tę metodę.
I tak samo w tym przypadku wykorzystamy obiektyw i następnie metodę i nic z tym że
teraz konieczne będzie podanie tabeli w której przechowywane są marki i następnie
identyfikator czyli która kolumna identyfikuje nasz model.
Dlatego też wpisujemy nazwę tabeli Brand oraz identyfikatora masowo ID.
Tak więc tak też zostaje na koniec pozostało zdefiniować kolekcje.
Kolekcja jest obiektem który pozwala na
pobranie wielu modeli czy też wielu rekordów z bazy danych.
Kolekcja wie jakiego typu są te modele.
Dlatego też po pobraniu ich z bazy danych odpowiednio stworzy modele odpowiadające
dla danej kolekcji czyli w tym przypadku modele Brand.
Mamy też możliwość skonfigurować warunków które następnie kolekcja przetworzyć do
zapytania SQL dzięki czemu możemy wybrać z bazy danych tylko interesujące nas modele.
Przejdźmy do katalogu model.
Następnie rejestr Smudę dodajemy kolejny katalog Brand.
I dopiero teraz dodamy plik Collection.
Konieczne będzie zdeklarowany na inspekcję
klasa kolekcji musi rozszerzać klasę abstrakcji.
Collection.
Pełna nazwa to jest to framework model rejestr stron.
I tutaj tak jak w poprzednich modelach
konieczne będzie zaimplementowane metody kontrakt.
Do tego celu wykorzystamy obiekt następnie metodę i nic.
Teraz w kolekcji konieczne będzie przekazanie jako pierwszy argument klasy
modelu oraz jako drugi argument klasy resort Smudę.
Dlatego też podajemy najpierw klasę modelu Brand.
Jako drugi argument podajemy Records modę na teraz to już wszystko w kolejnych
lekcjach dowiemy się w jaki sposób wykorzystywać modele oraz kolekcje.