Danas je dobro biti PHP programer — Laravel i alati koji rad čine udobnijim, softver kvalitetnijim

Tihomir Opačić programira u PHP-u već 15 godina i piše za nas tome kako je ovaj programski jezik preležao dečje bolesti i preporučuje niz alata koji su doveli do PHP renesanse.

Tihomir Opačić - 16. April, 2015.

Programski jezik PHP poslednjih godina doživljava renesansu. U svojim ranim verzijama stekao je loš glas, i kao takav ostao u sećanjima mnogih programera koji trenutno (ne)srećno obavljaju svoj posao u nekom drugom programskom jeziku. Međutim, upravo oni često nisu ni svesni pozitivnih pomaka i novina koje su PHP učinile modernim programskim jezikom koji apsolutno zaslužuje njihovu, i pažnju programerske zajednice, novina poput: Namespaces, Closures, Composer Dependency Management Platform, PSR standardizacija i moderni frameworci kao što su Symfony i Laravel.

Laravel je PHP framework koji nesmanjenim intenzitetom dobija na popularnosti. Drugu godinu za redom je od strane sajta sitepoint.com proglašen za najpopularniji PHP framework godine. Razlog tome je sasvim sigurno jednostavnost korišćenja jedinstvene kombinacije alata koju ovaj framework nudi. Jednostavnost koju programer oseća na svakom koraku dok razvija sopstvenu aplikaciju.

Laravel to postiže naizgled banalnim stvarima: imena entiteta (klasa, metoda, varijabli itd.) na najprostiji mogući način zaista opisuju same entitete, a generalna struktura frameworka je u nedostatku boljeg opisa – logična. Kolege sa više iskustva znaju da je ovaj nivo kvaliteta softverskog proizvoda jako teško dostići i postići. Ovakav kvalitet je posledica velikog talenta i iskustva samog autora frameworka, a često i mukotrpnog refaktorisanja dok svaki detalj ne bude na svom mestu. Dakle, sve čestitke Tejloru Otvelu na dobro obavljenom poslu!

Da bi udobnost i kvalitet rada u Laravel-u bio još veći, razvijen je i specifičan način rada koji programerima koji odluče da ga koriste, osim što donosi ozbiljne uštede u vremenu, u dobroj meri garantuje da će kod koji napusti lokalno razvojno okruženje raditi jednako dobro i na produkcionom serveru. Predstaviću vam, ukratko, najznačajnije od pomenutih alata.

Laravel Homestead

Laravel Homestead je Vagrant box, odnosno virtuelna mašina koja, nakon što je pokrenete, nudi identično razvojno okruženje bez obzira na operativni sistem koji koristite. Homestead radi bez problema na Windows, Mac i Linux sistemima, a uz njega dobijate Nginx web server, PHP 5.6, MySQL, Postgres, Redis, Memcached i mnoge druge alate potrebnih za razvoj web aplikacija.

Laravel Forge

Laravel Forge je online ekvivalent okruženju kakvo ste uz pomoć Laravel Homesteada podigli na svom lokalnom računaru. Iako nije besplatan, alat svakako vredi zakupiti, a evo i zašto: Laravel Forge dozvoljava server provisioning, odnosno potpuno automatizovan proces zakupa i instaliranja nove virtualne serverske instance. Možete da odaberete serverskog provajdera po sopstvenoj volji, uključujući i veoma popularnu opciju — Digital Ocean. Novi server vam je dostupan kroz svega nekoliko minuta i nudi identičan set alata koje ste imali u Laravel Homestead virtuelnoj mašini.

Osim što nudi grafički korisnički interfejs za administraciju samog servera poput Cron job schedulinga, podešavanja firewalla i server monitoringa, podešavanja parametara Nginxa i PHPa, Laravel Forge nudi i push-to-deploy procedure koje će automatski preuzeti kod sa određenog Git branch-a da bi ga objavile na test ili produkcionom serveru.

Blackfire

Blackfire je jedan od alata jedinstvenog kvaliteta koji jednostavno nije bio dostupan pre nekoliko godina. Ovaj nivo profilisanja PHP skripti je nešto što će uštedeti sate i dane programerima koji žele da utvrde gde su uska grla u izvršenju koda. Blackfire je dostupan u Laravel Homestead i u Laravel Forge-u. Koliko je ovaj alat koristan najbolje je da se uverite gledajući Blackfire explainer video.

New Relic

New Relic je server monitoring alat koji je postavio standarde u oblasti monitoringa performansi serverskih aplikacija. Alat daje jasan uvid u status servera i onim pojedincima koji nemaju znanje koje poseduje sistemski administrator. Jako je korisno prikupljanje i čuvanje istih informacija jer na taj način precizno možete da utvrdite trenutak kada su određene anomalije počele da se dešavaju. New Relic je podržan od strane Laravel Forgea.

Papertrail

Monitoring log fajlova je nešto što je bitno kako u samom procesu razvoja aplikacije, tako i nakon što aplikacija započne svoj život na produkcionom serveru. Papertrail dozvoljava brz i lak pristup log fajlovima, i što je bitnije brzu i efikasnu pretragu log fajlova po različitim parametrima. Papertrail app je takođe dostupan u Laravel Forgeu.

Beanstalkd

Beanstalkd je jednostavan i brz queuing sistem. Laravel Homestead stiže sa Beanstalkd alatom koji vam omogućava da iskoristite potencijal Laravel Queues funkcionalnosti. Laravel nije ograničen na upotrebu Beanstalkd alata kada su pitanju queues. Podržani su i Amazon SQS, IronMQ, kao i Redis.

Laravel Elixir

Laravel Elixir nudi API za interakciju sa Gulp alatom. Na ovaj način moguće je postići automatsko kompajliranje LESS, SASS fajlova ili CoffeeScripta. Takođe je moguće pokrenuti i PHPunit ili PHPSpec testove, ali i izvršiti spajanje i minifikovanje CSS i JS fajlova.

*

Broj veoma korisnih alata koji su na raspolaganju Laravel programeru uvećava se iz meseca u mesec. Bilo da su u pitanju zvanični, komercijalni proizvodi ili open source rešenja, kvalitet i udobnost rada programera se uz ove alate defintivno poboljšava. Za razliku od nekih ne tako davno prošlih vremena, danas je jako dobro biti PHP programer, a još bolje Laravel PHP programer.

O novinama u PHP-u i najboljim praksama možete više saznati na našem meetupu 20. aprila u Beogradu, 22. aprila na prvom okupljanju PHPovaca u Nišu i opet u Beogradu na velikoj SOLIDay konferenciji 30. maja. Tihomirov podkast IT Serbia možete pratiti ‘vamo.