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.

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.

Predstavljamo poslodavca
MDCS-logo-1-1.png

Microsoft Development Center Serbia (MDCS)

We believe in people

Microsoft’s mission is to empower every person and organization on the planet to achieve more. This is what inspires us to learn and grow every day. MDCS is created with a mission to take an active part in conception of novel Microsoft technologies by hiring unique local talent from Serbia and to contribute components to some of Microsoft’s premiere and most innovative products. MDCS is becoming widely recognized across Microsoft as a center of excellence for the Big Data and Machine Learning based solutions.

Tihomir Opačić

  • Thursday, 16. April 2015.

    Mogli bi da spomenete i http://lumen.laravel.com/ koji je izašao pre par dana… :)

  • Thursday, 16. April 2015.

    Hvala za info. Sledeci projekat mi je u Laravelu, tako da mi je bas ovakav sum-up trebao

  • Thursday, 16. April 2015.

    I onda jos recimo instaliras HHVM (fejsbukova virtuelna masina za PHP) i dobijes ubedljivo najbrze web okruzenje u celom uniberzumu. Ko ne veruje nek potrazi benchmarkove po netu, PHP na HHVM-u ubedljivo sije sve ostalo, od jave, pythona ruby-ja itd. Cak 99% nas nece ni imati prilike da radi na projektima gde su tolike performanse obavezne

    Tako da mi je smesno kad cujem da neko kaze da je PHP los jezik, to samo znaci da ga nije ni pogledao zadnjih 7-8 god.

  • Thursday, 16. April 2015.

    Odlicno.

  • Thursday, 16. April 2015.

    @Milos u pravu si. Kao sto je @drmrdejan pomenuo na Twitteru, tu je i https://envoyer.io/, medjutim, clanak je vec duze vremena napisan cekao da bude objavljen i zao mi je sto nisam imao vremena da ubacim info o ova dva skoro objavljena alata.

    @Dejan cuo sam, ali ne i isprobao, da ce PHP 7 doneti neverovatno ubrzanje koje ce biti vrlo osetno cak i na WP based sajtovima.

  • Friday, 1. May 2015.

    @dejan, citao sam nedavno codeascraft.com kako je Etsy počeo koristiti HHVM i koliko im je to povećalo performanse. Bio sam vrlo impresioniran, mada moram priznati da još uvek ne razumem kako tačno HHVM postiže to, van toga što koristi JIT kompajler.

  • Šta ti je na umu?
    Dodaj komentar · Pravila diskusije

  • Unesite termine za pretragu