Symfony jest frameworkiem PHP, bazującym na architekturze MVC (Model-View-Controller). Przekładając to na bardziej ludzki język, aplikacje opracowane w oparciu o takie podejście, charakteryzują się oddzielnym kodem odpowiedzialnym za logikę biznesową (tego, jak dane funkcje mają działać), oddzielnym kodem widoków (tego co użytkownik ma widzieć i jak ma wchodzić w interakcję z aplikacją) oraz kodem, który łączy dwa wspomniane wcześniej obszary.
Niewiele rozwiązań opartych na Symfony jest równie szybkich i elastycznych. Ten popularny framework PHP stworzono, skupiając się na wydajności działania. SensioLabs, twórca Symfony, od początku kładli nacisk na budowę serwisów i aplikacji tak, by dobudowywane funkcje nie były silnie związane z rdzeniem systemu.
Aplikacje tworzone w Symfony, wykorzystują szereg komponentów i bundli, które uzupełniają podstawowe funkcje frameworka. Są to pakiety, utrzymywane i aktualizowane dzięki bardzo rozbudowanej społeczności.
Stosując bundle, mamy zupełna elastyczność jeśli chodzi o tworzenie modułów, dokładnie odpowiadających wymaganiom klienta. Aby nakreślić wszechstronność modułów, przedstawiamy kilka przykładowych poniżej:
Każdy z tych komponentów może być używany niezależnie w innych projektach PHP, ale razem tworzą potężny framework full-stack. Dzięki częstym aktualizacjom, mamy pewność, że aplikacja budowane z pomocą Symfony są łatwo rozszerzalne zachowując przy tym swoją modularność. Wraz z aktualizacjami języka PHP, niemal natychmiast pojawiają się nowe wydania symfonowych bundli.
Symfony to framework, gotowy na obsługę dużego ruchu i działający bardzo wydajnie nawet przy dużym obciążeniu. Dzięki swojej budowie, wykorzystywany jest do budowy zarówny niewielkich dedykowanych aplikacji jak i złożonych systemów CRM, ERP i innych rozwiązań webowych.
Najlepszym dowodem na to, jak przemyślany jest to framwework, świadczy szereg narzędzi i aplikacji SaaS, które powstały na bazie Symfony. BlaBlaCar, Trivago, Dailymotion czy niektóre elementy backendu Spotify powstały właśnie w oparciu o komponenty Symfony.
Dzięki zaangażowaniu społeczności i naprawdę dużej społeczności developerów, na rynku pojawiło się wiele narzędzi CMS czy sklepów internetowych, wykorzystujących ten framework.
Są nimi m.in systemy CMS:
A także sklepy internetowe
Za Symfony niewątpliwie przemawia wiele korzyści, które w perspektywie czasu okazują się bezcenne. Liczne aktualizacje bezpieczeństwa, elastyczność, łatwe dbanie o wysoką jakość kodu (kluczowe w długoterminowym utrzymywaniu projektów) to tylko niewielki przykład. Zastosowań biznesowych dla Symfony jest tyle, ile pomysłów.
Na rynku, oprócz Symfony, istnieje szereg rozwiązań, stanowiących alternatywę. Są nimi m.in. Laravel, CodeIgniter, Yii.
Porównując Symfony z dowolną z wymienionych alternatyw, w każdym przypadku wygrywa on w zastosowaniu do dużych projektów enterprise, głównie z powodu swojej rozbudowanej i złożonej architektury, która pozwala na łatwe tworzenie integracji. Pomimo trudniejszej implementacji i wyższego progu wejścia dla programistów PHP, z czasem znacznie zyskuje na zaufaniu. Bardzo szczegółowa dokumentacja techniczna i stabilne wydania LTS to kolejne atuty Symfony.
Czyste Symfony będzie doskonałym wyborem dla dużych projektów enterprise, w których z czasem należy spodziewać się dużego obciążenia. Dodatkowo, jest to świetne rozwiązanie w przypadku, gdy potrzebne jest wdrożenie złożonej logiki biznesowej oraz gdy kluczowe jest zapewnienie długoterminowej stabilności.
Jeśli jednak planujesz stworzyć prostą stronę internetową, warto skorzystać z gotowych systemów CMS, takich jak bazujący na Symfony Sulu CMS.
Prezes
Mits sp. z o.o.