PHP Framework na początek. Który warto wybrać?

Home / Porady / PHP Framework na początek. Który warto wybrać?
thumb image

Zanim wybierzemy jaki framework dla Ciebie będzie odpowiedni, odpowiedzmy sobie na pytanie co to jest PHP framework, do czego służy i czy naprawdę go potrzebujemy.

Co to jest PHP framework?

Framework to powiązany zbiór narzędzi, skryptów oraz bibliotek, oparty na jednej konwencji programistycznej w celu przyspieszenia pracy, ustandaryzowania i rozwiązania podstawowych problemów za programistę.

Gdyby nie PHP frameworki to przy każdym projekcie musielibyśmy się martwić o bezbłędną i zaawansowaną obsługę baz danych, zarządzanie sesją, przyjazne URLe, wysyłanie wiadomości e-mail i setki innych mniejszych lub większych zagadnień, które są uniwersalne i nie powinny zajmować naszego czasu.

Dzięki skorzystaniu z gotowej bazy projektu, nie musimy się tym w ogóle przejmować. Będziemy mogli się skupić na tym co ważne, a nie na powtarzalnych czynnościach, których i tak nie zrobimy tak dobrze, jak całe community korzystającego i ciągle udoskonalające framework.

Jakie są dostępne PHP Frameworki?

Skoro już poznaliśmy zalety korzystania z frameworków, warto się zastanowić, który wybrać do pracy. Jeśli mamy czas i chcemy poeksperymentować to warto poznać podstawy każdego i wybrać ten, który nam najbardziej się podoba i spełnia nasze potrzeby. Zazwyczaj jednak nie mamy tyle wolnego czasu i lepiej poświęcić cały czas na lepsze poznanie jednego frameworka dokładnie.

Zatem przeanalizujemy plusy i minusy najpopularniejszych PHP frameworków w poszukiwaniu tego, od którego warto rozpocząć przygodę i który będzie najlepiej się nadawał do naszych potrzeb.

Obecnie najpopularniejsze PHP frameworki to:

Laravel – https://laravel.com

Symfony – https://symfony.com/

CodeIgniter – https://codeigniter.com/

Yii – http://www.yiiframework.com/

Zend – https://framework.zend.com/

CakePHP – https://cakephp.org/

Phalcon – https://phalconphp.com/pl/

Slim – https://www.slimframework.com/

Omówmy pokrótce wszystkie rozwiązania:

Laravel

Najpopularniejszy obecnie framework PHP, mimo że powstał dopiero w 2011 roku. Wokół Laravela powstał olbrzymi ekosystem usług i rozwiązań, materiałów szkoleniowych (wystarczy wspomnieć o olbrzymim kompendium wiedzy jakim jest serwis Laracasts – gorąco polecamy wszystkim programistom PHP, nie tylko tym, którzy korzystają z Laravela).

Laravel posiada własny ORM – Eloquent, własny system template’ów – Blade, mnóstwo gotowych rozwiązań out-of-the box m.in. obsługa cache, wielu systemów plików, kolejek, autoryzacji itp.

Symfony

Bardzo popularny framework PHP, składający się z wielu niezależnych modułów. Na bazie tych modułów działa wiele innych rozwiązań, chociażby Drupal, forum phpBB, a także Laravel.

Dzięki wykorzystaniu modułów z Symfony, jesteśmy w stanie znacząco przyspieszyć swoją pracę w każdym aspekcie prac nad serwisem internetowym.

Wokół Symfony również zgromadziła się bardzo duża społeczność z wieloma udanymi wdrożeniami dużych skalowalnych serwisów.

CodeIgniter

CodeIgniter to bardzo lekki projekt, zajmujący zaledwie 2MB, z bardzo prostą konfiguracją oraz świetną dokumentacją. Powstał w 2006 roku, lecz nie rozwijał się w takim tempie jak inne frameworki. Przez pewien czas było ryzyko, że projekt umrze, ale od 2 lat znowu prężnie się rozwija.

CodeIgniter nie korzysta z wielu rozwiązań, które pojawiły się w PHP 5.6 i PHP 7, dzięki czemu jest kompatybilny nawet z wersją 5.2.4 (której oczywiście nie polecamy używać), ale jest to plus, gdy musimy korzystać z serwerów współdzielonych z bardzo starą konfiguracją, której nie można aktualizować. Oprócz tego jest bardzo szybki i pozwala na bardzo dużą swobodę w stylu programowania (co jest zarówno plusem, jak i minusem).

Yii

Yii jest frameworkiem stawiającym na szybkość i prostotę. Podobnie do innych frameworków, pozwala na generowanie wielu obiektów/plików za nas i automatyzację podstawowych zadań jak pamięć podręczna, autoryzacja, testy, tłumaczenia itp.

Jest mocno zintegrowane z jQuery, dzięki czemu pozwala na unikalną integrację front-endu i back-endu przez Ajax.

Zend Framework

Zend jest bardzo rozbudowanym, aczkolwiek skomplikowanym frameworkiem. Posiada bardzo dużo udogodnień jak wbudowany drag&drop edytor czy debugowanie kodu online. Główną jego zaletą jest jednak wydajność przy dużych projektach

Jednakże przez mnogość konfiguracji i możliwości usprawnień wydajności, nie jest on z pewnością rozwiązaniem na początek.

CakePHP

CakePHP jest jednym ze starszych rozwiązań w tym zestawieniu, ale wciąż bardzo popularnym. Posiada bardzo dobrą dokumentację, jest prosty w użyciu, a także wykorzystuje dużo nowoczesnych konceptów PHP jak np. przestrzenie nazw.

Phalcon

Ciekawym rozwiązaniem jest Phalcon, który powstał w 2012 i w odróżnieniu od reszty frameworków, został napisany w C i C++, w celu osiągnięcia najwyższego poziomu wydajności (samo PHP również jest napisane w C++, chociaż PHP7 w niektórych testach jest szybsze od czystego C++). Wpływa to też na rodzaj kodu, który jest bardziej niskopoziomowy, pozbawiony abstrakcji, co zmniejsza liczbę wykorzystywanych zasobów, ale i czytelność kodu.

Mimo wszystko jest to na pewno ciekawe rozwiązanie jeśli zależy nam przede wszystkim na szybkości, ale w kontekście API (gdzie wydajność jest kluczem) bardziej odpowiednim rozwiązaniem może być ostatni framework w tym zestawieniu.

Slim

Slim jest mikroframeworkiem, a więc frameworkiem z minimalną liczbą udogodnień, który ma na celu przede wszystkim wydajność i szybkość. Głównym zastosowaniem są API oparte na REST (w skrócie usługi sieciowe, które dokonują operacji i zwracają dane na bazie żądań opartych na protokole HTTP), gdzie nie nie potrzeba wielu rozwiązań stosowanych w rozbudowanych serwisach.

Slim zawiera oczywiście takie podstawy jak obsługę routingu, pamięci podręcznej, zabezpieczenia sesji i ciasteczek. Oprócz API można w nim stworzyć także pełnoprawne serwisy internetowe, ale w porównaniu do innych frameworków wielu usprawnień będzie brakować, ze względu na jego naturę.

Co to jest framework?

Innymi przykładami mikroframeworków są:

Lumen (oparty na Laravelu – https://lumen.laravel.com)

Silex (oparty na Symfony – https://silex.symfrony.com)

Flight – http://flightphp.com/

Wave – https://www.waveframework.com/

Limonade – https://limonade-php.github.io/

Jaki PHP framework w takim razie wybrać?

Żeby móc wybrać odpowiedni framework dla siebie, trzeba sobie odpowiedzieć na pytanie co jest dla nas ważne, na czym nam zależy i czym dobry framework powinien się charakteryzować

Praktycznie wszystkie w/w rozwiązania posiadają podobny zbiór funkcjonalności i gotowych bibliotek. Różnią się przede wszystkim wielkością społeczności, dostępnych bibliotek zewnętrznych, liczbą ofert pracy na rynku, a także szybkością rozwoju.

Biorąc te wymagania pod uwagę kilku faworytów nam się wyłoni:

Laravel – najpopularniejszy framework na świecie, bardzo prosty do nauki, bardzo przyjemna składnia, nowoczesny, stabilnie rozwijany, z bardzo dużą i zaangażowaną społecznością.

Symfony – najpopularniejszy framework w Polsce, większość ofert pracy dla programistów PHP dotyczy nadal Symfony

CodeIgniter – bardzo prosty framework, idealnie nadający się do nauki i do prostych projektów na początku przygody z frameworkami by poznać wzorzec MVC i podstawowe koncepty

Podsumowanie

Dowiedzieliśmy się zatem czym są frameworki PHP, jakie są popularniejsze na rynku, czym się różnią i czym powinniśmy się sugerować w wyborze. Dobór odpowiedniego frameworka jest ważny, bo może zaważyć na losie projektu, a nawet firmy, ale tak naprawdę nie ma złych rozwiązań. Większość projektów można zaimplementować w każdym frameworku. A im będziemy mieć większe doświadczenie w jednym, będziemy mieli więcej gotowych rozwiązań zrobionych, tym będziemy tworzyć projekty szybciej i będziemy mieli większą pewność odnośnie ich prawidłowego działania.

Także wybór frameworka jest ważny, ale jeszcze ważniejsze jest poświęcenie czasu na jego poznanie, na szukanie dobrych wzorców i tworzenie coraz to bardziej złożonych projektów w nim.

Osobiście rekomenduję Laravela, gdyż jest to najszybciej rozwijający się framework, stawiający na przyjemność programowania, rozwiązujący wiele często spotykanych zagadnień i posiadający bardzo zaangażowaną społeczność, która chętnie dzieli się swoją wiedzą i rozwiązuje problemy innych.

Na koniec jeszcze raz chciałbym podkreślić – nie poświęcajcie miesięcy na szukanie idealnego frameworka na początek – wybierzcie to rozwiązanie, które podoba się Wam na pierwszy rzut oka. Zaufajcie instynktowi, a nie pożałujecie. A potem przygotujcie się na długą podróż ku zdobywaniu doświadczenia i stawaniu się ekspertem w użyciu wybranego przez Was rozwiązania. Powodzenia!

Źródło: https://marketingibiznes.pl/it/php-framework-poczatek-ktory-warto-wybrac/

PHP Framework na początek. Który warto wybrać?
5 (100%) 1 vote

Podziel się!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *