Wczytywanie strony...

Lumen – prawdopodobnie najszybszy framework PHP do mikro-serwisów

Mikołaj Podkoński

Mikołaj Podkoński

Samozwańczy CTO i Back-End Developer w Esumo. Nie lubi brzydkiego kodu i zimnej kawy. Fan nowych technologii. Skontaktuj się z nim pisząc na ten adres.

Lumen PHP

Lumen został stworzony w 2015 roku przez Taylora Otwella który jest również twórcą framework’a Laravel. Jest to open-source’owy, ultralekki framework przeznaczony głównie do pisania mikro-serwisów w języku PHP. Lumen jest „mikro-framework’iem”, oznacza to że jest to wyszczuplona, szybka wersja pełnoprawnego framework’a do pisania aplikacji webowych, w tym wypadku jest to młodszy brat framework’a Laravel.

Głównym wyznacznikiem jakości takiego projektu jest jego szybkość, a wypada on bardzo dobrze na tle konkurencji. Biorąc pod uwagę benchmark pokazany na stronie Lumen, jest to obecnie najszybszy mikro-framework wśród konkurencji w ilości request’ów na sekundę.

  • Lumen1900 request’ów na sekundę
  • Slim 31800 request’ów na sekundę
  • Silex1300 request’ów na sekundę

Oto kilka zalet framework’a Lumen które przemawiają za jego używaniem:

  • Niesamowita szybkość
  • Prosta składnia
  • Bardzo łatwa migracja projektu do pełnoprawnego framework’a Laravel
  • Lumen dostarcza funkcję szybkiego routing’u dzięki bibliotecę Fast Route. Biblioteka ta zapewnia implementacje routingu opartego o wyrażenia regularne.
  • Zapewnia prosty obserwator pozwalający na zapisanie i nasłuchiwanie eventów w naszej aplikacji.
  • Niestety Lumen nie wspiera sesji, zapewnia jednak prosty mechanizm autentykacji oparty o tokeny.
  • Wspiera za to caching. Nie ma różnicy między systemem cache’owania w Laravelu i Lumenie, wszystkie sterowniki cachowania takie jak bazy danych, Memcached i Redis są wspierane.
  • Zawiera bibliotekę Monolog, która zapewnia wsparcie wielu sposobów log’owania.
  • Wbudowany ma również serwis kolejkowania, który jest taki sam jak w Laravelu.

Wymagania serwerowe:

  • PHP >= 7.1.3
  • Rozszerzenie OpenSSL PHP
  • Rozszerzenie PDO PHP
  • Rozszerzenie Mbstring PHP

Instalacja za pomocą Composer’a – projekt można zainstalować poprzez wpisanie w terminalu komendy Composera create-project.

Aby postawić projekt lokalnie można użyć zewnętrznych maszyn wirtualnych, lub skorzystać z wbudowanego w projekt serwera produkcyjnego. Można tego dokonać poprzez wpisanie odpowiedniej komendy w terminalu.

Wszystkie opcje ustawień framework’a Lumen są przechowywane w pliku .env, po zainstalowaniu projektu trzeba skonfigurować lokalne środowisko.