Laravel je open sourcový PHP Framework, který určený pro vývoj webových aplikací. Vyvinul jej Taylor Otwell. První release se datuje do roku 2012. Je licencovaný pod MIT licencí. Využívá softwarové architektury MVC, tedy Model-View-Controler. Je typický tím, že je optimalizovaný pro reálný svět a nabízí tak mnoho procedur, které jsou často používané při vývoji webové aplikace.
Základní funkce Laravelu
Framework Laravel obsahuje následující základní funkce a mnoho dalších:
Autentizace. Kontroluje přístupy uživatelů.
Caching. Umožňuje cachování používaných dat.
Databáze. Nabízí širokou škálu nástrojů potřebných pro komunikaci s databází.
Mailing. Laravel umožňuje posílání emailů včetně příloh a vložených souborů.
Routing. Laravel zpřístupňuje správu, směrování a zpracování dotazů na jediném místě.
Sessions. Laravel se dokáže postarat o agendu spojenou se sessions.
Základní stavební kameny Laravelu
Laravel vychází z frameworkových velikánů a podpůrných systémů, jako jsou Symfony, Composer, Eloquent ORM nebo Blade. Disponuje také ověřenými postupy, u nichž čerpá inspiraci z Ruby on Rails, APS.NET nebo Sinatry.
Základním stavebním kamenem je Symfony, ten poskytuje mnoho důležitých modulů jako je Browserkit, Console, Debug nebo FileSystem. Další zásadní komponentou je Composer, tedy PHP dependecies manager
Výhody použití Laravelu
Využívá nejnovější funkcionality PHP. Jedna vlastnost, která odlišuje Laravel od ostatních frameworků je to, že využívá nejnovější funkcionality PHP. To ostatní frameworky nedělají.
Skvělá dokumentace. Laravel dokumentace dělá jeho využití skutečně uživatelsky přívětivým. Všechny verze Laravelu jsou releasovány včetně kompletní dokumentace, kde najdete dobrá detailní vysvětlení stylu programování, metod a tříd.
Integrace s mailing službami. Je potřeba, aby webové aplikace udržovali uživatele informovaného ohledně nových nabídek. Další důležitou etapou v životním cyklu zákazníka je jeho registrace, se kterou se váže notifikační email. Framework je vybaven čistým API za využití SwiftMailer knihovny. Má zároveň drivery pro SMTP, Mailgun, SparkPost, Mandrill, PHP mail fuknci, Amazon SES nebo sendmail. Ty všechny mohou pomoci s rozesíláním emailů přes cloud nebo lokální služby.
Podpora populárních cachingových backendů. Laravel podporuje cache backendy jako je například Memcached nebo Redis. Je zároveň možné nakonfigurovat mnoho cache konfigurací.
Vestavěný nástroj pro příkazovou řádku. Vývojáři neradi řeší opakující se úkony, protože zabírají mnoho času. Nástroj pro příkazovou řádku pojmenovaný Artisan pomáhá vytvořit kostru kódu a spravovat databázový systém. Artisan zároveň pomáhá s generováním základních MVC souborů a správou zdrojů včetně jejich příslušné konfigurace.
Balíčky a dostupnost zdrojů. Můžete využívat balíčky, které kombinují Laravel s Gulpem nebo elixírem. To pomáhá s řešením závislostí.
Redukce vývojového cyklu produktu. Je možné výrazně zkrátit vývojový cyklus produktu, protože se urychlí integrace. Zároveň má Laravel obrovskou komunitní podporu.
IoC kontejner. Inversion of Control je metoda, která generuje nové objekty. Tyto objekty jsou dostupné, kdykoliv píšete kód.
Reverzní routing. Je možné tvořit odkazy na pojmenované routy.
ORM. Jednoduchá implementace ActiveRecord umožňuje příjemnou práci s databází.
Nevýhody práce s Laravelem
Nepodporuje funkcionalitu platební brány. Je možné využít služby, které platby zprostředkují, čímž se tento problém dá obejít.
Chybějící kontinuita mezi verzemi. Jednotlivé verze Laravelu na sebe příliš hladce nenavazují.
Proměnlivá kvalita. Některé komponenty nejsou příliš dobře navržené.
Některé aktualizace jsou problematické. Před nasazením aktualizací je potřeba přijmout patřičná opatření.
Podpora mobilních aplikací. Plné znovunačtení stránky může být oproti desktopovému prohlížeči v mobilním telefonu relativně náročné. V případě mobilních aplikací je často potřeba řešit frontend jiným způsobem.