Prestashop

Prestashop 1.7 i duże zmiany w architekturze

W maju 2015 r., Kiedy deweloperzy ogłosili opracowanie nowej architektury Prestashop, której wdrożenie rozpoczęto od pierwszych linii kodu wersji 1.6.1.0, wydanych przed lipcem 2015 r.? Tak, to było zabawne. Teraz przygotowując aktualizację 1.7, nadszedł czas, abyś poświęcił się planom rozwoju nowej architektury dla deweloperów.

Wiele się zmieni w związku z wydaniem wersji 1.6.1.0. Spróbujmy wymienić główne punkty.

  • Prestashop 1.7 otworzy implementację architektury zbudowanej na platformie Symfony za pomocą systemu szablonów Twig .
  • W tej chwili planujemy wykorzystać nową architekturę tylko w back-office (panel administracyjny). Ponadto, w nadchodzącym wydaniu będą tylko 2 sekcje: produkty i moduły.
  • Pozostałe sekcje back-office zachowają starą architekturę wersji 1.5 – 1.6, ale zmienią się w późniejszych wersjach Prestashopa.
  • Tylko moduły powiązane ze stronami Produktów i modułami Back-office wymagają adaptacji do nowej wersji Prestashop.

Czytaj dalej, będzie jeszcze ciekawiej.

Dlaczego Prestashop potrzebuje nowej architektury?

Prestashop 1.5, wydany w połowie 2012 roku, miał ogromną zmianę w podstawowym kodzie. Zmiany obejmowały system wielooddziałowy, przerobiony moduł API, zmiany w kernelu (zmodyfikowano kod wielu klas, aby lepiej pasował do modelu MVC). To była znacząca zmiana, a po kilku miesiącach “polerowania” innowacji społeczność zaakceptowała je bez wahania.

Prestashop 1.6, wydany w marcu 2014 r., Zachował większość architektury 1.5. Oczywiście wdrożył re-back-office i front-office związane z wdrożeniem Bootstrap, oprócz kilku istotnych zmian, takich jak back-office Dashboard (KPI) z KPI ( Key Performance Indicators , KPI , system oceny, który pomaga organizacje w celu określenia osiągnięcia celów strategicznych i taktycznych – wykresy, diagramy). Ale kod źródłowy nie różnił się zbytnio od wersji 1.5. Miło było poinformować społeczność, że ich moduły i motywy będą działały z nową wersją silnika, tak jak poprzednio, przynajmniej bez znaczących zmian.

Wszystko było w porządku i cudownie, ale nawet wersja 1.5 pokazała, że ​​jego kod źródłowy mógłby wykorzystywać bardziej nowoczesne podejścia i rozwiązania.

Oczywiście, nadal działało zgodnie z oczekiwaniami od wersji 1.6, ale już znalazło słabe punkty tu i tam.

W 2015 roku, kiedy wciąż pracowaliśmy nad wersją 1.6 (która doprowadziła nas do wersji 1.6.1.0), twórcy zdecydowali: kod Prestashop powinien stać się bardziej uporządkowany i chroniony , bardziej modułowy iw pełni przetestowany. Nie można tego zrobić na podstawie kodu wersji 1.5 – 1.6. Decyzja ta doprowadziła do rozpoczęcia zmian w kodzie źródłowym w wersji 1.6.1.0 i przygotowania wersji 1.7, w której programiści w pełni wdrożyli nową architekturę.

Dokonano wyboru: Prestashop 1.7 będzie zawierał framework symfony2 w rdzeniu kodu źródłowego. Będzie to ostry zwrot po technicznej stronie platformy Prestashop, ale będzie on przechodził stopniowo i przez długi czas. Nie wszystkie zmiany zostaną wprowadzone w wersjach 1.7.

Dlaczego zdecydowano się na wdrożenie ram zamiast optymalizacji własnego kodu silnika?

Czas porzucić wieloletnie ramy rzemieślnicze, które istnieją w Prestashop (autorzy używają terminu “home-made”), który nie wykonuje optymalnych funkcji, takich jak zamawianie produktów, których obsługa zajmuje dużo czasu, a które nie są specjalnymi funkcjami, których należy przestrzegać bardziej skupić się na programistach prestashop.

Korzystanie ze sprawdzonej i popularnej platformy umożliwia programistom ulepszanie specjalnych części silnika, a jednocześnie pozwala użytkownikom cieszyć się stabilną pracą uznanego frameworka.

Dlaczego wybrano Symfony2?

Ponieważ jest to Symfony2, nowy standard PHP! (Autor żartów z artykułu). Rzeczywiście, ta struktura jest uznawana przez wiele zaawansowanych kodów jakości i jest najbardziej popularna.

Rozważaliśmy również inne opcje:

  • Lumen / Laravel:
    • Używa komponentów Symfony, w rzeczywistości jednej z modyfikacji;
    • Zawiera wiele elementów, które obecnie nie są potrzebne do tego projektu.
  • Silex:
    • Jest to miniaturowa struktura, która nie spełnia potrzeb projektu.
    • Nie ma skutecznego mechanizmu opisywania sposobów.
    • Opiera się on na starszych komponentach Symfony, a także na kilku składnikach.
  • Smukła struktura:
    • Małe ramy, bardziej odpowiednie dla małych projektów.
    • Jest obsługiwany przez bardzo mały zespół programistów, nie było żadnych zmian w tym roku i tylko kilka w przeszłości.
    • Często naruszona retro-kompatybilność (ze starszymi wersjami).
  • Framework Zend:
    • Wielki konkurent dla Symfony, ale jego popularność spada.
    • Ponadto Zend nie rozwija się wystarczająco, od razu pojawił się na rynku jako “Monolith”.
  • Struktura Yii:
    • Jest to również monolityczna struktura.
    • Społeczność jest mała. Znaleźć wykwalifikowanych programistów będzie bardzo trudne, zarówno dla zespołu Prestashop, jak i studia Prestashop.

Która część Prestashopa zostanie przepisana przy użyciu Symfony?

Prestashop 1.7 nie będzie w 100% zbudowany na Symfony, w rzeczywistości tylko sekcja kodu źródłowego będzie korzystała z frameworka.

Czy Smarty zostanie zastąpiony przez Twig?

Twig jest językiem szablonów frameworków Symfony. W wersji 1.7 będzie on używany do wszystkich stron, które zostały uaktualnione za pomocą Symfony. (Produkty i moduły), ale NIE dla globalnych interfejsów (menu, nagłówki itp.), A nie na niezmienionych stronach bez Symfony, która nadal będzie używać Smarty. Dwa mechanizmy szablonów będą dostępne od wersji do wersji podczas fazy transformacji. W końcu wszystkie strony back-office mają zostać przetłumaczone na Twig.

Czy moduły 1.6 będą obsługiwane w wersji 1.7?

W wersji prestashop 1.7 Symfony będzie używane tylko do obsługi back-office. W konsekwencji konsekwencje aktualizacji do 1.7 dla programistów modułów będą ograniczone do dostosowania haków sekcji Produkty i Moduły. Moduły powiązane z innymi sekcjami w zmianach nie potrzebują.

Twórcy modułów nie muszą tworzyć modułów w Symfony, interfejs jądra pozostanie taki sam, a Smarty będzie nadal używany na stałych stronach. Konieczne będzie użycie szablonu Twig dla zmodyfikowanych stron, ale kod jądra modułu może pozostać taki sam.

Na stronie ustawień / ustawień produktu programiści zapewnią przełącznik, który pozwoli na uruchomienie strony przy użyciu wersji Standard / Smarty lub wersji Symfony / Twig. Tak, będą one poza nowym silnikiem, ale dzięki temu moduły wersji 1.6 połączone ze stronami Produktów i Modułów będą działać w wersji 1.7. Dzięki temu programiści będą mieli więcej czasu na dostosowanie swoich modułów do wersji 1.6

Czy motywy 1.6 będą działać w Prestashop 1.7?

PrestaShop 1.7 zawiera mechanizm ponownego przemyślenia do pracy z tematami. Nie jest to związane z nową architekturą i Symfony, ale wiąże się z nową koncepcją tematów tworzonych przez programistów i następującymi zmianami.

Dlatego motywy 1.6 nie będą działać na Prestashop 1.7: kod logiczny będzie całkowicie oddzielony od tematu, kontrolery nie wysyłają tablic obiektów, temat pozostaje niezmieniony, CSS jest używany tylko do stylów, nie jest już używany przez Bootstrap, itd. Nowa strategia budynku tematy w 1.7, to obecność głównego tematu, programiści będą mogli budować własne tematy (modyfikacja głównego tematu) w oparciu o pierwotny podstawowy temat, który pozwoli społeczności stworzyć wiarygodne jasne tematy tematów adaptacyjnych i łatwo je udostępnić.

FAQ …?

Czy nadal masz dużo pytań na temat Prestashop 1.7? Programiści utworzyli osobne forum do omawiania problemów w tej wersji. Myślę, że wkrótce … wszyscy tam będziemy.

0 Komentarze
Udostępnij

Prestashop Developer