Einführung in das Laravel Framework

Laravel gehört mittlerweile zu den bekanntesten bzw. beliebtesten Frameworks für PHP.
Inspiriert von .NET und Ruby on Rails, entwickelte Taylor Otwell Laravel und hat es mit seiner Idee, ein neues, für Entwickler einfach nutzbares, sowie modernes Framework zu entwickeln, welches mittlerweile zu dem beliebtesten und meist verbreitetem PHP Framework weltweit gehört.
Ähnlich wie ein Content Management System hilft ein Framework dem Entwickler bei der Programmierung von PHP Anwendungen.

Ein wesentlicher Vorteil besteht vor allem darin, dass stetig Sicherheits- und Funktionsupdates veröffentlicht werden. Der Einsatz bringt beispielsweise folgende Vorteile:
– Komponenten sind ideal aufeinander abgestimmt
– Effiziente Weiterentwicklung der Anwendung möglich, vor allem da es eine sehr ausführliche öffentliche Dokumentation und eine sehr große Community vorhanden ist.

Diese Abbildung zeigt einen Vergleich beliebter PHP-Frameworks innerhalb der Google Suchanfragen von Anfang 2014 bis heute. Es ist unschwer zu erkennen, dass Laravel beliebte Frameworks wie Zend oder CodeIgniter ab 2013 überholt hat.

Diese Abbildung zeigt die Verbreitung der Suchanfragen weltweit vom jeweiligen Land in Prozent an.

Veröffentlichungen

Am 11. Juni 2011 wurde die erste Version, vollständig MVC konform, veröffentlicht. Schon im Februar, im darauffolgenden Jahr, folgte Laravel 3 mit den Neuerungen des Kommandozeilentool Artisan, Unterstützung verschiedener Datenbanksysteme, Event-Verarbeitungen sowie der Unterstützung der Einbindung verschiedener Softwarepakete. Im Mai 2013 wurde mit der Unterstützung von Composer, welches das Framework deutlich erweiterbar macht, da es seither möglich ist diverse Third-Party Anwendungen einzubinden, Laravel in der Version 4 veröffentlicht.
Am 5. Februar 2015 wurde mit Version 5.0 die Unterstützung für einen Scheduler für die Ausführung von Aufgaben und die Integration externer Authentifizierungsverfahren, veröffentlicht.

Anbei wird ein Beispiel gezeigt, um den Scheduler auszuführen:

Ausführung jeden Montag um 13.00 Uhr

$schedule->call(function () {
//
})->weekly()->mondays()->at('13:00');

Stündliche Ausführung an Wochentagen (Mo. – Fr.) von 08.30 – 17.30

$schedule->command('foo')
->weekdays()
->hourly()
->timezone('Europe/Berlin')
->between('8:30', '17:30');

Ist Laravel ein MVC Framework?

Laravel selbst behauptet kein MVC Framework zu sein, wenngleich wir hier den eigentlichen Aufbau über Models, Views und Controllern haben.

„MVC is just a tip of the iceberg. Laravel allows you to create apps using MVC pattern, but the framework itself is much more complicated.

Laravel 4 had models, controllers and views folder, but 5 does not because it’s not only MVC (e.g. controllers are a part of the HTTP layer — containing Middleware, Requests and Responses, etc). That said, you can see there are much more layers, not only M V and C.
But, the application you build is mostly wrapped around MVC pattern because most of the time, you don’t even need anything below the surface.
Organize and structure apps in the way that solves your problems.“

Zitat-Quelle: laracasts.com

Eloquent ORM

Mit dem Eloquent ORM integriert Laravel einen sehr mächtigen und einfach verständlichen Datenbank Mapper.

$userAll = User::all();
$user1 = User::find(1);

Support

Die Support Policy von Laravel verspricht für normale Versionen Bug-Fixes für sechs Monate und Sicherheitsupdates für ein Jahr. Für die LTS-Versionen erhöht sich der Bug-Fix Support auf zwei, sowie die Security-Fixes auf drei Jahre.
Somit eignet sich die Verwendung von Laravel durchaus im Enterprise Bereich.

Version Veröffentlichung Bug Fixes bis Security Fixes bis
5.0 04. Februar 2015 04. August 2015 04. Februar 2016
5.1 (LTS) 09. Juni 2015 09. Juni 2017 09. Juni 2018
5.2 21. Dezember 2015 21. Juni 2016 21. Dezember 2016
5.3 23. August 2016 23. Februar 2017 23. August 2017
5.4 24. Januar 2017 24. Juli 2017 24. Januar 2018
5.5 (LTS) 30. August 2017 30. August 2019 30. August 2020
5.6 07. Februar 2018 07. August 2018 07. Februar 2019

Template Engine

Sobald man sein erstes Projekt erstellt hat, fällt einem sofort die welcome.blade.php Datei in dem views Ordner auf. Blade ist die von Laravel eigens integrierte Template Engine, mit welcher das Einbinden von PHP in den HTML Code, sowie vieler Shortcuts, möglich ist. Mit Blade erzeugte Views werden in reinen PHP-Code kompiliert und im Cache gespeichert, bis diese modifiziert werden, wodurch logischerweise auch die Last des Servers geschont wird. Mit Blades ist somit ein übersichtlicheres Arbeiten möglich.

Beispiel Programmcode:

@if(Auth::check())
// Zeige den HTML Code an, wenn der Benutzer eingeloggt ist.
@else
// Zeige den HTML Code an, wenn der Benutzer nicht eingeloggt ist.
@endif

Mithilfe von Artisan CLI ist es dem Entwickler möglich, Laravel upzudaten bzw. eine Migrations Datei zu erstellen.
Ein großer Vorteil von Laravel ist zudem die ausführliche Dokumentation, sowie einer umfangreichen Video-Bibliothek mit mehreren Hundert Videos zu speziell Laravel, PHP, Testing, Javascript und Tooling.

Fazit

Für alle, die neu in Bereich PHP sind, kann ich jedem nur Laravel empfehlen, zumal Entwickler, die sich mit solchen Frameworks auskennen, regelrecht auf dem Arbeitsmarkt aktiv gesucht werden.

 

JS