Najnowsza wersja frameworka Symfony – co nowego w Symfony 6.3? [release w maju 2023]
Nowa wersja jednego z frameworków PHP – Symfony wydawana jest co pół roku. W maju 2023 światło dziennie ujrzało Symfony 6.3. Release Symfony 6.4 planowany jest na listopad 2023. Słowem wstępu, czym jest Symfony? Symfony to framework oraz zbiór bibliotek i komponentów dla aplikacji webowych napisany w języku PHP bazujący na architekturze SOA. Symfony to obok Laravela najpopularniejszy framework wykorzystywany do budowy aplikacji internetowych. Jego celem jest przyspieszenie i ułatwienie procesu budowy i utrzymywania aplikacji webowych oraz ograniczenie powtarzalnych czynności programisty.
Jakie nowe funkcjonalności znalazły się w Symfony 6.3?:
- Harmonogram – Symfony wprowadza nowy komponent Harmonogram (Scheduler). Komponent ten pozwala zdefiniować harmonogram, z jakim będą obsługiwane różne cykliczne wydarzenia z naszego systemu. Może się to sprawdzić, jeśli chcemy, żeby powiadomienia mailowe były wysyłane na przykład raz dziennie, 5 dnia miesiąca o godzinie 8 rano lub w każdy wtorek i czwartek. Możliwości jest mnóstwo! Scheduler ściśle integruje się z dostępnym już komponentem Messenger. Połączenie tych funkcji to upgrade harmonogramu zadań dostępnego w obecnych systemach na wyższy poziom. Scheduler pozwala na dodanie jednosekundowej precyzji uruchomienia wydarzeń czy zakolejkowanie wielu harmonogramów z różnymi wartościami.
- Webhook i RemoteEvent – Symfony 6.3 wprowadza dwa nowe komponenty o nazwach Webhook i RemoteEvent. Webhook to powiadomienie z jednego systemu (np. procesora płatności) do innego systemu (np. aplikacji Twojej firmy) o zmianie stanu (np. opłaceniu zamówienia). Symfony standaryzuje webhooki najpopularniejszych usług pocztowych i powiadomień, dzięki czemu nie trzeba ich modyfikować wewnątrz aplikacji. Aktualnie Symfony 6.3 zapewnia gotową obsługę webhooków dla Mailgun, Postmark i Twilio.
- AssetMapper – Symfony 6.3 wprowadza nowy komponent AssetMapper, który pozwala używać map importu do obsługi zasobów. Mapa importu to obiekt JSON, który mówi przeglądarce, jak obsługiwać importowane moduły JavaScript. AssetMapper pozwala nam w nowy sposób zdefiniować moduły JavaScript, dzięki temu nie musimy korzystać z innych dodatkowych narzędzi, tj. Webpack, WebpackEncore, Node.js, yarn/npm itp.
- Dependency Injection – Symfony 6.3 dodaje nowe możliwości dla komponentu Dependency Injection i atrybutu Autowire. Umożliwia automatyczne dołączanie usług jako domknięć i metod wywoływalnych, generowania adapterów dla interfejsów funkcjonalnych i automatycznego dołączania leniwych usług. Lazy services, czyli w wolnym tłumaczeniu „leniwe usługi”, to takie usługi, które są wczytywane, ale w celu podniesienia wydajności wykorzystywane dopiero wtedy, kiedy faktycznie są potrzebne.
- WebProfiler – Symfony 6.3 ulepszyło istniejącą już funkcję o lepszą dostępność linków i zakładek, dynamiczne favicony w formacie SVG, dzięki czemu unikamy „pixelozy” często widocznej w przypadku logotypów w PNG, a także klikalne ścieżki szablonów. Kolejną zmianą w WebProfilerze jest to, że wszystkie daty i godziny są teraz prezentowane w lokalnej strefie czasowej. Konwersja jest dokonywana automatycznie przez JavaScript podczas ładowania dowolnej strony Profilera. Usprawnienia WebProfilera usprawniają i podnoszą komfort debugowania problemów w aplikacji i w trakcie pisania nowych funkcjonalności.
- Notifier – Symfony 6.3 dodało nowe integracje dla powiadomień z Notifier. Komponent Notifier zapewnia dziesiątki gotowych do użycia integracji z usługami innych firm. Od najpopularniejszych usług (Slack, Telegram, Google Chat, Amazon itp.) po mniejsze niszowe usługi. Symfony od wersji 6.3 zintegrowane będzie m.in. z Twitterem, Mastodon, LINE, Pushover, PagerDuty i innymi.
Poza wymienionymi funkcjonalnościami, Symfony 6.3 usprawnia także kwestie związane z logowaniem i wylogowywaniem, walidacją siły hasła, a także kompresją emoji i zaoszczędzaniem miejsca na dysku.
Symfony jako framework wspierane jest przez:
- Shopware – platformę e-commerce, oferującą innowacyjne i nowoczesne rozwiązania dla sprzedaży internetowej.
- SensioLabs – twórcę Symfony.
- Les-Tilleuls.coop
- Basecom