Zalety modułowości Magento

24.06.2015 Angelika Siczek
koniec wsparcia akeneo 4.0 i nowości w wersji 5.0

Jedną z głównych przewag Magento nad innymi systemami jest jego modułowość. Objawia się ona w postaci następujących korzyści w przypadku wdrożeń tej platformy:

1. Przede wszystkim mamy do dyspozycji trzy warstwy: core, community i local, które nadpisują dane w podanej kolejności, czyli mamy możliwość np. zmiany funkcjonalności core Magento ale bez nadpisywania plików, w praktyce może odbyć się to poprzez kopiowanie plików np. z core do local i tam wykonywanie zmian programistycznych, dzięki czemu mamy pewność, że w przypadku aktualizacji nie tracimy zmian. Nasze podstawowe moduły integracyjne będą się znajdowały w warstwie community, dzięki czemu w razie „tymczasowych akcji” (typu chwilowa promocja, która zmienia minimalnie pewną logikę) będzie można nadpisać nasz moduł w warstwie local, a po wszystkim usunąć nadpisanie by bezkonfliktowo powrócić do pierwotnej wersji.

2. Jeżeli chodzi o nowe funkcjonalności wszystko rozwiązujemy modułowo, jeżeli dodajemy funkcjonalność na karcie produktu typu zapisanie do PDF, pliki do pobrania, itd. za każdą rzecz będzie odpowiedzialny osobny moduł. Jest to o tyle ważne, że w przypadku występowania konfliktu w którymś miejscu wystarczy wyłączyć moduł, aby pozostała funkcjonalność działała stabilnie i można w tym czasie rozwiązywać problem na serwerze developerskim, brak możliwości zapisu do PDF nie będzie dla użytkownika takim problem jak brak możliwości dostania się na kartę produktu.

3. Powiązane z powyższym, ale jednak niezależne – Magento dla niemalże wszystkich wykonywanych czynności (a już na pewno dla wszystkich podstawowych akcji typu zapisanie modelu, czy włączenie akcji w kontrolerze) posiada rozbudowany system wydarzeń dla obserwatorów. Jest to o tyle ważne, że dowolne moduły mogą współpracować z innymi nie kolidując w ich kod. Nie dochodzi więc do sytuacji, w której programista jest zmuszony modyfikować bazową logikę działania poszczególnych elementów, aby dodać swój kod.

4. Magento wykorzystuje rozbudowaną wersję wzorca MVC, więc oddzielamy logikę aplikacji od widoku czy przyjmowania danych, stąd zmiany w widoku nie wpłyną nam np. na logikę i są łatwiejsze do wprowadzenia. Dodatkowym zyskiem jest zastosowanie mini-kontrolerów, tzw. bloków. Bloki te można wykorzystać w dowolnym miejscu i posiadają swoją logikę, więc ich rozwój jest elastyczny i niezależny od tego, co dzieje się w pozostałych blokach. Oczywiście bloki te nie są ograniczone, więc mają możliwości takie, jak główny kontroler.

5. Magento jako instancja – Mage.php jako czysta klasa pozwala wykorzystać wszystkie jego zalety bez włączania całego systemu z warstwą MVC. Jest to niezwykle przydatne np. przy workerach, które będą cały czas działały w tle i muszą być jak najbardziej optymalne. Dzięki wykorzystaniu tego nie musimy np. od podstaw pisać pewnych elementów (jak to często z workerami bywa), tylko możemy wykorzystywać np. model produktu podczas aktualizacji w tle.

6. Pomimo całej modułowości Magento posiada zaawansowany system kompilacji (zebranie tylko wykorzystywanych klas do jednego miejsca) oraz rozbudowany system cache. Kompilacja Magento w połączeniu z akceleratorami np. OPcache (kompilowanie i cacheowanie skryptów PHP) sprawia, że Magento działa tak samo szybko, jak dużo mniej rozbudowane systemy, a jednocześnie jest stabilniejsze. Dodatkowo do Magento można wykorzystać dowolny system cacheujący (key-value) np. Redis.

Cyfrowe newsy / Bądź na bieżąco

Od początku 2022 roku wchodzimy w skład Unity Group. Teraz zapisując się do naszego newslettera, będziesz na bieżąco z informacjami całej naszej organizacji.

    Wypełniając formularz wyrażasz zgodę na wysyłkę newslettera przez Unity S.A. z siedzibą we Wrocławiu. Zgodę możesz wycofać w każdej chwili. Więcej informacji na ten temat znajdziesz w naszej polityce prywatności.

    *Wymagane

    Andrzej-kurs-programowania

    Andrzej Szylar

    Chief Executive Officer

    E-mail:

    andrzej.szylar@unitygroup.com
    Magda2

    Magdalena Paczyńska-Kamienik

    HR Manager

    E-mail:

    magdalena.paczynska@unitygroup.com
    Aleksandra

    Aleksandra Bielawska-Clegg

    HR Business Partner

    E-mail:

    Michal

    Michał Duława

    New Business Developer

    E-mail:

    Katarzyna

    Katarzyna Zajchowska

    Marketing Partner

    E-mail: