W ostatnich tygodniach zdecydowałem się poznać frameworki PHP. Zamiast zacząć od najbardziej popularnych, takich jak Symfony czy Laravel, postanowiłem spróbować CakePHP. Chociaż kodowanie w tym frameworku było całkiem przyjemne, prawdopodobnie nie wrócę już do niego w przyszłości.
Pierwszy autorski projekt w PHP: System Portfolio
System portfolio to mój pierwszy projekt w PHP, który nie jest objęty prawami autorskimi żadnego klienta. Kod źródłowy tego systemu, napisany w CakePHP 3.8, udostępniam publicznie. Oto link do projektu na GitHub:
https://github.com/DominikGwozdz/portfolio-system
Ostatni projekt w CakePHP
Ten projekt z pewnością będzie moim pierwszym i ostatnim w CakePHP. Częściowo żałuję wyboru i nie zdecydowania się na Symfony, ale warto było poznać kilka frameworków na prostych projektach. W CakePHP zaskoczył mnie na przykład dostęp do pól bazy danych bez konieczności tworzenia getterów, setterów czy encji. Pomimo swoich niedoskonałości, framework ten wydaje się być świetnym wprowadzeniem dla początkujących i wiele rzeczy sam framework robi za programiste jak na przykład dynamiczny dostęp do modeli bez konieczności tworzenia encji, ale nie uważam, żeby to było dobre podejście, jedynie wygodne na początku w bardzo prostym małym projekcie, który nie jest skomplikowany w moim odczuciu.
Symfony i Laravel: przyszłe plany
Planuję kontynuować naukę PHP, skupiając się na Symfony (zwłaszcza, że wersja 4.4 LTS będzie niedługo dostępna w wersji stabilnej) oraz Laravel, który również bazuje na Symfony.
Dlaczego PHP?
Wiele osób uważa PHP za przestarzałe i odradza jego użycie na rzecz nowocześniejszych rozwiązań, takich jak Node.js czy Java. Ja jednak osobiście lubię programować w PHP i uważam go za mój „numer 1” jeśli chodzi o szybkie tworzenie projektów zgodnych z dobrymi praktykami. Oczywiście, nie ograniczam się wyłącznie do PHP – piszę również w JavaScript (Node.js) czy nawet ostatnio próbowałem swoich sił w React Native. Będę się dzielił swoimi osiągnięciami w innych językach programowania, ale na razie skupiam się na PHP.