PHP Frameworks Teil 2 – Laravel

Hier bei singularIT nutzen wir Laravel in den meisten unserer Web-Entwicklungen. Mit dem Release von Laravel 5.5 am 30. August bekommt das PHP-Framework erneut einige neue Features. Grund genug für uns euch das Framework und seine Geschichte kurz vorzustellen.

Hintergrund

Bevor wir mit der Vorstellung von Laravel loslegen, müssen wir über PHP reden. PHP ist eine der populärsten Programmiersprachen. Über 80% der Webseiten nutzen in irgendeiner Form PHP. Die neueste Version PHP 7 machte PHP besser und robuster als jemals zuvor.

In den letzten Jahren sind Programmiersprachen wie Python und Ruby immer beliebter geworden. PHP wirkte dagegen etwas in die Jahre gekommen. Mit den jüngsten Entwicklungen in PHP gibt es nun auch Tools und Frameworks die wieder Spaß für die Entwickler bereiten. Und genau hier kommt Laravel ins Spiel, denn es sieht sich als PHP-Framework für Web Künstler, wie auch die offizielle Homepage deutlich signalisiert.

Lasst uns nun einen detaillierteren Blick auf die Features werfen, die Laravel anders macht als weitere PHP-Frameworks und was es zum populärsten und am schnellsten wachsenden PHP-Framework macht.

Laravel Features

Die Architektur

Taylor Otwell, ehemaliger .NET-Entwickler aus Arkansas und Erfinder von Laravel machte sich die Ideen der .NET-Infrastruktur zunutze, welche unter Einsatz mehrerer 100 Millionen Dollar an Forschungskosten von Microsoft gebaut wurde. Auf Grundlage der MVC-Architektur (Model, View, Controller), welche bereits in Laravel 1 und 2 implementiert wurden, begann der Anstieg der Popularität von Laravel. Bis heute ist die Architektur die Grundlage für das gesamte Framework.

Packages

Als im Mai 2013 Laravel 4 komplett runderneuert released wurde, wurde im gleichen Zug ein Package Manager eingeführt: Composer. Dieser macht das Einbinden von Code aus dritten Quellen kinderleicht und ermöglicht es PHP Entwicklern besser miteinander zu kollaborieren.

Migration und Eloquent

Laravel liefert außerdem Tools zur Interaktion mit Datenbanken. Migrationen ermöglichen es, Datenbanken einfach zu strukturieren und zu modifizieren. Sie sind eine Art Visionierung für Datenbanken, was besonders hilfreich ist, um die Datenbankstruktur konsistent zu halten. Änderungen an der Datenbank werden gespeichert, können nachvollzogen werden und leicht zurückgesetzt werden. Das ist nicht nur praktisch, sondern auch unheimlich einfach.

Migrationen können plattformunabhängig genutzt werden für alle Datenbanken, die Laravel unterstützt (MySQL, PostgreSQL, MSSQL und SQLLite). Laravels Query Builder abstrahiert die Unterschiede zwischen den verschiedenen Datenbanktypen weg und erlaubt es dadurch robuste Abfrage zu erstellen.


class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamps();
        });
    }

    public function down()
    {
        Schema::dropIfExists('users');
    }
}

Laravels ORM (Objekt-Relational Mapping) heißt Eloquent. Es erlaubt die Abbildung von Objekten in relationalen Datenbanken. Mit Eloquent können wir Datenbankeinträge erstellen, updaten und löschen ohne eine einzige Zeile SQL zu schreiben. Für jede Datenbanktabelle gibt es ein zugehöriges Model, wodurch kommuniziert wird. Eloquent ist von Haus aus in Laravel integriert und extrem mächtig.

Command Line Tool

Seit Version 3 kommt Laravel mit einem Command Line Tool namens Artisan. Mit Artisan kann ein Entwickler mit seiner Anwendung interagieren um verschiedene Aktionen zu triggern wie z.B. Migrationen erstellen oder CRON-Jobs erstellen – Artisan hat für alles einen Befehl und erleichtert so die Arbeit erheblich.

Routing

Laravel erlaubt es alle URLs auf deiner Website durch ein Routing-File zu organisieren. Wenn du den Link zu einer Website oder zu einer API ändern möchtest, kannst du sie einfach in einer Datei ändern und alles sollte weiterhin so funktionieren wie erwartet.

Zusammenfassung

Laravel zählt heute zu den beliebtesten und am weitesten verbreiteten PHP-Frameworks.  Selbstverständlich ist das Framework nach 6 Jahren Entwicklung immer noch jung und andere Frameworks haben ihre Vorteile und sind seit Jahren etabliert. Dennoch befindet sich Laravel durch seine große Community, die sich aktiv mit dem PHP-Framework befasst in einer guten Ausgangslage sich stetig am Puls der Zeit zu entwickeln.