Symfony
Symfony to dojrzały, otwartoźródłowy framework języka PHP, stworzony przez firmę SensioLabs i wydany po raz pierwszy w 2005 roku. Jego cechą wyróżniającą jest budowa oparta na niezależnych komponentach wielokrotnego użytku, które można wykorzystywać razem jako pełny framework albo pojedynczo w dowolnym projekcie PHP. Symfony jest jednym z filarów ekosystemu PHP — jego komponenty stanowią fundament wielu innych narzędzi, w tym części Laravela.
Jak działa Symfony
Symfony organizuje aplikację według wzorca MVC i kładzie nacisk na czystą architekturę oraz dobre praktyki inżynierii oprogramowania. Sercem frameworka są komponenty — samodzielne biblioteki odpowiadające za konkretne zadania:
- HttpFoundation i Routing — obsługa żądań, odpowiedzi i mapowania adresów URL;
- Doctrine ORM — mapowanie bazy danych na obiekty PHP;
- Twig — bezpieczny i wydajny silnik szablonów;
- Dependency Injection — kontener wstrzykiwania zależności porządkujący strukturę aplikacji;
- Console — budowa poleceń uruchamianych z wiersza poleceń.
Filozofia Symfony to konfigurowalność i przewidywalność. Framework mniej narzuca gotowych rozwiązań niż konkurenci, dając programiście pełną kontrolę nad architekturą, co jest zaletą w dużych, długo utrzymywanych systemach.
Zastosowanie w praktyce
Symfony wybiera się najczęściej do budowy rozbudowanych aplikacji korporacyjnych, platform SaaS, systemów CRM i ERP, portali o dużym ruchu oraz API. Na jego komponentach opierają się także popularne systemy CMS, takie jak Drupal. Framework sprawdza się tam, gdzie liczą się skalowalność, stabilność i długoterminowe wsparcie — Symfony ma jasną politykę wydań z wersjami LTS.
Aplikację Symfony wdraża się na serwerze z obsługą PHP, najczęściej w połączeniu z PHP-FPM i bazą danych MySQL, MariaDB lub PostgreSQL. Pełną kontrolę nad wersją PHP, konfiguracją cache i kolejek daje VPS lub serwer zarządzany, na którym można dostroić środowisko pod wymagania projektu. Rozbudowana dokumentacja, aktywna społeczność i rygorystyczne podejście do jakości kodu sprawiają, że Symfony pozostaje jednym z najważniejszych frameworków PHP.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się Symfony od Laravela?
Symfony to zbiór niezależnych, wysoce konfigurowalnych komponentów, na których zresztą Laravel częściowo bazuje. Kładzie nacisk na elastyczność i kontrolę, co sprawdza się w dużych systemach korporacyjnych. Laravel natomiast dostarcza gotowe rozwiązania z minimalną konfiguracją i stawia na szybkość developmentu.
Jakie wymagania hostingowe ma aplikacja Symfony?
Symfony wymaga serwera z aktualną, wspieraną wersją PHP oraz kompletem rozszerzeń, menedżera zależności Composer i najczęściej bazy danych MySQL, MariaDB lub PostgreSQL. Do wydajnej pracy przydają się dostęp do CLI i możliwość konfiguracji cache. Najlepiej sprawdza się VPS lub serwer zarządzany z pełną kontrolą nad środowiskiem PHP.
