Czym jest PHP Symfony?
Poruszone tematy:
Od wyboru właściwego frameworka PHP zależy, czy uda nam się programować szybko i efektywnie, czy też stracimy mnóstwo czasu na wykonywanie podstawowych czynności. Symfony jest rozwiązaniem, którego architektura sprzyja efektywności, pozwalając ponadto developerowi na elastyczne kształtowanie środowiska pracy. Przybliżamy cechy tego wartego uwagi frameworka.
Zanim się zacznie symfonia
Chcąc tworzyć aplikacje/strony internetowe, powinniśmy poznać język PHP. Jest on najczęściej używany do tych zastosowań. Cechuje go wszechstronność i najpopularniejsza składnia językowa (C-podobna). Język ten też jest bardzo łatwy w komunikacji z bazami danych (np. MySQL). PHP z każdą wersją jest coraz szybszy w stosunku do poprzednika i ciągle ewoluuje. Warto dodać, że język PHP jest językiem interpretowanym, a nie kompilowanym. Co to oznacza? Że kod napisany w PHP przechodzi przez interpreter, który zamienia kod na język, który jest odpowiedni dla procesora komputera. Dzieje się to wszystko "w locie" podczas wykonywania danego fragmentu kodu w danej chwili (nie jest on wcześniej kompilowany).
Samo PHP jednak nie wystarczy. To znaczy mogłoby, ale praca przebiegałaby wolno i z trudem. Oszczędzimy ich sobie, decydując się na korzystanie z frameworka. Jest to zestaw zasad, wzorców projektowych oraz bibliotek, które upraszczają i przyśpieszają prace programisty, jednocześnie determinując pewne wzorce i wytyczne, których należy przestrzegać.
Gdyby nie framework programista musiałby wielokrotnie pisać fragmenty kodu odpowiedzialne za wykonanie często zupełnie podstawowych czynności. Zajmowałoby to bardzo dużo czasu, niepotrzebnie zwiększając koszt projektu. Framework jest zatem jakby skrzynką narzędziową, z której w razie potrzeby wyciągamy potrzebne elementy.
Co to jest Symfony?
Symfony to framework PHP dostarczający nam komponentów wielokrotnego użytku. Wyrosła wokół niego społeczność 600 000 użytkowników. Doceniają go też takie marki jak Spotify, Trivago, Dailymotion czy Course Hero.
Kluczowy dla Symfony jest fakt, że oprogramowanie oparte jest na licencji open source. Sprawia to, że jest ciągle rozwijane przez użytkowników. Dzięki temu łatwo jest także dostosować framework do własnych wymagań, także specyfiki konkretnego projektu. Dodaje się po prostu odpowiednie moduły.
Ważną cechą Symfony jest możliwość korzystania ze wzorca architektonicznego MVC (Model-View-Controller). Polega on na podzieleniu aplikacji na trzy warstwy:
- Modelu - opisu struktur danych i relacji między nimi, warstwy związanej z bazami danych.
- Widoku - interfejsu, który widzi użytkownik aplikacji.
- Kontrolera - warstwy, przez którą wymieniane są dane pomiędzy warstwami modelu i widoku.
Dzięki takiej architekturze dokonywanie zmian w aplikacji jest łatwiejsze, ponieważ jej części logiczne są oddzielone od siebie. Programista może wdrażać zmiany i dokonywać testów osobno w każdej z warstw.
Zalety Symfony
- Oszczędność czasu
Symfony zawiera duży zestaw wbudowanych modułów i komponentów wielokrotnego użytku sprawiających, że aplikacje tworzy się znacznie sprawniej. Dzięki temu produkt szybciej trafia na rynek, a jego development jest mniej kosztowny. Porównanie z innymi frameworkami pod względem prędkości także wypada dla Symfony korzystnie. - Elastyczność
Framework nie zmusza programisty do przeglądania listy wszystkich funkcjonalności, które są do dyspozycji. Można skonfigurować go tak, aby mieć pod ręką tylko te potrzebne do danego projektu. Znacznie przyspiesza to tempo pracy. W razie potrzeby dołączymy do Symfony także dodatkowe funkcje, aby stworzyć środowisko optymalne dla każdego projektu. - Przyjazność dla nowych użytkowników
Symfony łatwo jest się nauczyć oraz rozwinąć swoje umiejętności korzystania z rozwiązania. Służy temu pomocna społeczność skupiona wokół frameworka oraz bogata, przystępna dokumentacja. Jest on uważany za dobry wybór dla początkujących. - Łatwość testowania
Korzystając z niezależnej biblioteki PHP Unit, można wyjątkowo łatwo przeprowadzać testy jednostkowe. Zautomatyzowane jest także testowanie funkcjonalne. Mamy szansę wykorzystać również inne narzędzia do testów, które sprawią, że zaoszczędzimy dużo pracy. - Możliwość rozbudowy
Zarówno najmniejsze elementy, jak i rdzeń frameworka są w nim "pakietami". Można je wykorzystać w innym projekcie lub udostępnić społeczności. Każdy z nich, łącznie z rdzeniem w razie potrzeby dowolnie zmodyfikujemy. - Stabilność
Symfony jest firmowane i sponsorowane przez swojego twórcę, firmę SensioLabs. Jej Programiści udzielają pomocy użytkownikom przez okres trzech lat lub dożywotnio w przypadku problemów dotyczących bezpieczeństwa.
Harmonijny framework
Od tego, na jaki framework się zdecydujemy, zależy czas i wygoda tworzenia aplikacji. Wydajność Symfony idąca w parze z wygodą użytkowania i możliwościami personalizacji sprawia, że jesteśmy w stanie stworzyć aplikację wyjątkowo szybko.
Wśród wymienionych cech frameworka warto zwrócić uwagę na rozbudowaną społeczność użytkowników. Używamy komponentów przez nią stworzonych i w przypadku problemów możemy uzyskać od niej pomoc. Skorzystamy jednak przede wszystkim z faktu, że framework będzie zawsze na czasie, odpowiadając na bieżące potrzeby programistów oraz nowe trendy technologiczne w branży IT. Także z tego powodu warto spróbować pracy z Symfony.