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 poprzedniej lekcji przygotowaliśmy interfejs danych.
Teraz zajmiemy się przygotowaniem implementacji repozytorium które serwis
kontrakt będzie zapewniało integralność usługi.
Zaczniemy sobie od zaimplementowane metody która pozwoli na zapisywanie marki dzięki
czemu w miejscach które będą potrzebowały zapisu do bazy danych czyli np.
w naszym kontrolerzy sejf który był omawiany wcześniej.
Nie będziemy już wykorzystywać metody represjonowanych represjonowanych
tylko zakończymy zależność do tej klasy Brand repozytorium.
Następnie wykonamy metodę syf która zostanie tam zaimplementowane.
Przejdźmy teraz do implementacji
katalogu API dodamy interfejs Brand repozytorium interfejsu.
Wskaże też.
I ustawiamy też aby to był od razu interfejs a nie klasa.
Definiujemy teraz metodę.
Parametry tej metody wskazujemy interfejs Brand.
Na podstawie którego będziemy tworzyć nowy model i zapisywać go do bazy danych
Zwrócimy też w tej metodzie dokładnie ten sam interfejs.
Przechodzimy teraz do katalogu model
i w Nim możemy stworzyć sobie nowy katalog repozytorium repo.
Story w którym będą implementację repozytorium
w naszym przykładzie będzie to brand repozytorium.
Oczywiście uzupełniamy też.
Następnie konieczne będzie
zaimplementowane interfejsu Brand repozytorium.
Interfejs dodajmy sobie przygotowaną wcześniej metodę sejf.
Następnie przygotujemy sobie konstruktor w którym będą znajdowały się wszystkie
zależności które będą potrzebne za chwilę do implementacji tej metody sejf.
W pierwszym momencie konieczne będzie podanie fabryki modelu Brand.
Następnie będziemy potrzebować fabrykę dla
interfejsu danych dlatego też wskaże ją jako drugi argument.
Konstruktorzy.
W tym momencie wykazaliśmy interfejs danych Brand interfejs natomiast w
kolejnych lekcjach pokaże w jaki sposób skaczemy ma to w jaki sposób ma zamienić
brat interfejs na obiekt klasy model data brat.
Na razie się tym nie przejmujemy.
Tajemniczy argument którym będzie resort model Brand.
Dodajmy wszystkie atrybuty do Naszej klasy.
Możemy trochę wyczyścić.
Następnie zajmiemy się implementacją metody safe.
Na początku będzie konieczność
stworzenia nowego obiektu modelu dlatego też wykorzystamy Brand Factory.
I stworzymy nowy obiekt Brand nazwiemy go inaczej nazywamy go Brand
model ponieważ już parametry metody znajduje się zmienna Brand.
Następnie konieczne będzie przekazanie do brand modelu.
Wszystkich informacji które są zawarte w interfejsie Brand interface z racji że
wcześniej został przygotowany obiekty danych są już przygotowane tam
pewne dane konieczne będzie przekazanie ich do modelu który następnie zostanie
zapisany do bazy danych i te informacje będą w tabeli.
Dlatego też użyjemy metody data.
Do zapisu nazwy możemy użyć tutaj zmiennej
z Brand interface czyli niech to będzie nam i następnie Brand.
Dodatkowo napiszemy uroki zrobimy tak samo.
I teraz wykorzystamy Brand Records model aby zapisać dany model do bazy danych.
Wykorzystamy metodę set i przekażemy do niej obiekt Brand Mode.
Perfect Storm podkreśla że prawdopodobnie konieczne będzie dodanie
opakowanie tego kawałka kodu ponieważ może wystąpić problem podczas
zapisu do bazy danych dlatego też możemy wykorzystać tą podpowiedź zmienimy sobie.
Na jakiekolwiek akcje przeniesiemy się cokolwiek pojawiło się w tym miejscu.
Możemy dodać obsługę błędów co się ma wydarzyć jeśli
dany model nie zostanie zapisany do bazy danych lub też pojawi się jakiś inny
problem podczas zapisu my możemy na tę chwilę to pominąć nie jest to istotne.
Następnie po zapisie modelu będzie
konieczne zwrócenie znowu interfejsu danych brat czyli po zapisie konieczne
będzie przedłożenie modelu na obiekt interfejsu.
Dlatego też konieczne będzie wykorzystanie
w tym momencie fabryki Brand interface Factory która stworzy nam
nowy obiekt który komplementuje Brand interfejs.
Czy piszemy to do zmiennej Brand data.
Możemy też powiedzieć że to jest obiekt który prezentuje interfejs.
Dzięki czemu będziemy mieć podpowiedzi.
I ustawiamy sobie set na.
Które bierzemy następnie z Brand model Get data.
Prąd.
Interfejs nam tak samo zrobimy dla set.
URL ki.
Tutaj zmienimy uroki i dodatkowo jeszcze na początku dodamy ustawienie set it.
Ponieważ obiekt został zapisany więc został wygenerowany identyfikator i
możemy go teraz pobrać z modelu i następnie przekazać do brand data.
I na koniec wracamy po prostu zmienną Brand data.
Na teraz to już wszystko następnej lekcji
zaimplementowane metody GET która pobierze informacje z bazy danych a następnie
przekaże te informacje do interfejsu danych.