Laravel jest to framework wydany na licencji open-source, przeznaczony do tworzenia aplikacji internetowych. o bardzo eleganckiej i ekspresywnej składni. Laravel dostarcza użytkownikowi typowych funkcjonalności jak: uwierzytelnianie, sesje czy routing. Oparty jest także na wzorcu MVC (Model-View-Control). Wykorzystywany jest przy programowaniu w języku PHP.
Zgodnie ze statystykami przedstawionymi przez portal www.sitepoint.pl, Laravel zajmuje pierwsze miejsce pod względem popularności mimo że jest stosunkowo młodym projektem.
Głównym celem tego frameworka jest sprawienie by proces tworzenia aplikacji był jak najwygodniejszym dla programisty. Dodatkowo stanowi obszerny zestaw narzędzi do budowy solidnych aplikacji. Przeznaczony jest nie tylko dla początkujących programistów ale także dla tych bardziej zaawansowanych.
Dużą zaletą frameworka Laravel jest przede wszystkim jego przejrzystość oraz dostępna dokładna dokumentacja wszystkich dokumentów. To dlaczego wielu programistów decyduje się na wykorzystanie właśnie tego narzędzia to przede wszystkim:
- bardzo prosty i jednocześnie intuicyjny system tworzenia oraz zarządzania migracjami, Laravel daje do dyspozycji pomocny schema tool za pomocą którego w łatwy sposób możemy stworzyć nowe pola czy tabele jak i je łatwo usuwać
- Eloquent ORM - jest to narzędzie dzięki któremu tworzenie modeli jest bardzo łatwe i domyślne, ponieważ programista nie musi definiować w samej aplikacji jakie pola zawiera dana tabela, oprócz tego mają możliwość wykorzystywania takich metod jak belongs_to czy has_one has_many, które pozwalają na budowanie relacji ale także pobieranie danych relacyjnych, dodatkowo w połączeniu ze schema builderem stanowi jeszcze bardziej przystępne narzędzie charakteryzujące się dużą funkcjonalnością
- Fluent Query Builder - charakteryzuje się dynamiczym php-owym budowaniem zapytań, zbliżony jest bardzo do query buildera
- Autoryzacja - framework udostępnia gotową klasę, której w konfiguracji możemy zdefiniować tabelę w której trzymamy dane a także sposób w jaki je przechowujemy.
Framework posiada wiele funkcji pomocniczych, możemy wymienić takie jak:
- tablice
- array_except (funkcja usuwa podaną parę klucz/wartość z tablicy)
- array_add (funkcja dodaje podaną parę klucz/wartość do tablicy)
- array_only (funkcja zwróci tylko określoną parę klucz/wartość z tablicy)
- ścieżki
- app_path (zwraca pełną ścieżkę do folderu application)
- storage_path (zwraca pełną ścieżkę do folderu application/storage)
- ciągi
- camel_case (zamienia podany ciąg na postać camelCase)
- snake_case (zamienia dany ciąg na postać snake_case)
- adresy URL
- url (generuje pełny adres URL do podanej ścieżki)
- action (generuje adres URL do podanej akcji kontrolera)
- inne
- value (jeśli podana wartość jest anonimową funkcją, zwraca wartość zwróconą przez anonimową funkcję, w innym wypadku zwraca wartość)
- with (zwraca podany obiekt, przydatne przy chainingu metod dla konstruktorów
- w PHP 5.3.x.)
- dd (zrzuca podaną wartośc i kończy wykonywanie skryptu).
Przykładowy kod w Laravel
Laravel Przykład #1
<?php
Route::post('/task', function (Request $request) {
$validator = Validator::make($request->all(), [
'name' => 'required|max:255',
]);
if ($validator->fails()) {
return redirect('/')
->withInput()
->withErrors($validator);
}
$task = new Task;
$task->name = $request->name;
$task->save();
return redirect('/');
});
?>
Laravel Przykład #2
<?php
namespace Illuminate\Session\Middleware;
use Closure;
class StartSession
{
public function handle($request, Closure $next)
{
return $next($request);
}
public function terminate($request, $response)
{
// Store the session data...
}
}
?>