Laravel - das PHP-Framework

19. Oktober 2016

Veröffentlicht in:

Webentwicklung

Die Entstehungsgeschichte eloquenter Webentwicklung

Wer heute eine Webanwendung programmieren will, kommt um PHP-Frameworks nicht herum. Doch welches bringt die nötigen Features mit, ist für die Entwickler gut zu bedienen und bringt am Ende flüssig laufenden Code hervor? Für immer mehr Anwendungsfälle lautet in den letzten Jahren die Antwort: Laravel. Wie kam es zur Entstehung dieses heute mächtigen, weit verbreiteten PHP-Frameworks?

Die Ausgangssituation ist eine klassische Geschichte nach dem Muster "Behebe dein eigenes Problem": Der .net-Entwickler Taylor Otwell wollte eine flexiblere, schlankere und einfachere Lösung als die bisher verwendeten Frameworks. Bei der Arbeit mit CodeIgniter fehlten ihm eingebaute Features (namentlich Benutzer-Authentifizierung und Autorisierung), und ohne umfassende Änderungen an CodeIgniter selbst konnte er diese Features auch nicht selbst hinzufügen.

Zudem störte ihn die fehlende Fehlerbehandlung von PHP: In anderen Programmiersprachen können Fehler vor der Ausführung des Codes bzw. beim Kompilieren abgefangen werden; der Entwickler wird entweder vom Interpreter oder vom Compiler darauf hingewiesen, wo das Problem liegt. Bei PHP existiert diese Unterstützung bei der Fehlersuche nicht und die Fehlersuche und -behebung kann also zeitraubend sein.

Die Vision – mit Laravel einfachen, eleganten und lesbaren PHP-Code bereitstellen

Einfacher, eleganter und lesbarer Code und ein Framework, das es auch unerfahrenen Entwicklern leicht machte, sehr schnell erste Resultate zu erzielen – so lautet die anfängliche und immer noch wegweisende Vision von Laravel. Webentwicklung soll Spaß machen, leicht zu benutzen und flexibel sein.

2011 begann Otwell mit Authentifizierung, Models, Views, Sessions und Lokalisierung, gefolgt von einer einfachen Model View Controller-Lösung in Version 2. Version 3, erschienen im Februar 2012, führte das CLI (Command line interface) Artisan ein. Artisan wird zum Beispiel für Datenbank-Migration oder Database Seeding (Datenbanken mit Beispielcode befüllen) verwendet. Mit dieser Version nahm die Beliebtheit von Laravel rapide zu. Im Februar 2013 fand in Washington, D.C. erstmals eine Konferenz von Laravel-Nutzern, genannt LaraCon, statt.

Composer, der Paketmanager von Laravel, wurde mit Laravel 4 im Mai 2013 eingeführt. Er war der entscheidende Faktor, der Benutzer anderer Frameworks dazu brachte, sich für Laravel zu interessieren, denn er erlaubte es, Bestandteile verschiedener Pakete unkompliziert zu einer eigenen Lösung zusammenzuführen. Composer beherrscht außerdem Abhängigkeitsmanagement (Dependency Management); Programmkomponenten werden mit einem solchen Paketmanager immer zusammen mit anderen Paketen installiert, auf die jene Programmkomponenten zugreifen - soweit sie nicht bereits installiert sind.

Eines des zentralen Features, das Laravel als PHP-Framework so besonders macht, heißt Eloquent. Als Bedeutung für "eloquent" versteht man im Alltagsdeutsch ungefähr "beredt, geschickt mit Worten, flüssig und überzeugend im Ausdruck" - doch was bedeutet das für die Webentwicklung? Eloquent ist die Active Record Pattern-Implementation bzw. das Object-Relational Mapping von Laravel. Object Relational Mapping behandelt die Beziehungen zwischen Datenbanken wie die Beziehungen zwischen Objekten in der objektorientierten Programmierung.

Immer wiederkehrende Muster für solche Beziehungen bzw. darauf aufbauende Operationen können damit durch ein wiederverwendbares Muster beschrieben werden. Änderungen am Modell müssen demnach nur an einer Stelle im Code vollzogen werden. Mit diesem Modell können zugleich Beschränkungen für die Beziehungen zwischen Datenbankobjekten angelegt werden. Das gestattet, das Laden von Daten auf die jeweils notwendigen Objekte zu beschränken, was wiederum Prozessorleistung und Bandbreite spart und die Anwendungen somit ökonomischer und schneller macht. Eloquent macht mit diesen Features die Entwicklung wesentlich schneller und einfacher.

Die Infrastruktur des Laravel Frameworks

Laravel überzeugt mit einem modularen, aber sehr klar strukturierten Aufbau und einem durchdachten Paketmanagement. Was auch immer benötigt wird, sei es eine Lösung für die Abwicklung von Zahlungen, eine Suchfunktion oder Login mit Social Network Accounts per OAuth, es steht dafür ein Paket bereit, das bei Bedarf integriert werden kann. Da Laravel Open Source ist, kann es ohne weiteres mit eigenen Paketen erweitert werden.

Für das Frontend-Design steht die Templating Engine Blade zur Verfügung. Mit Blade erzeugte Views werden in reinen PHP-Code kompiliert und im Cache gespeichert, bis sie modifiziert werden. Dadurch entsteht keine zusätzliche Serverlast in der Anwendung. Gleichzeitig bleiben Design samt HTML-Markup und Programmierlogik sauber voneinander getrennt. Mittels Laravel Elixir werden moderne CSS- und JavaScript-Präprozessoren wie Sass, Less, Stylus und Webpack unterstützt (wenn man nicht einfaches CSS verwenden will). Was Design angeht, ist Laravel somit auf der Höhe der Zeit.

Natürlich verfügt Laravel auch über Features, die speziell dem ursprünglichen Frustfaktor Fehlerbehandlung und Fehlerbehebung abhelfen: Unit Testing ist ein integraler Bestandteil von Laravel. Tests können über Artisan, das Command Line Interface, angestoßen werden.

Ein weiterer Vorteil von Laravel ist die ausführliche Dokumentation. Auf der Website steht nicht nur das Handbuch zur Verfügung, auch eine umfangreiche Video-Bibliothek erläutert Features und ihren Gebrauch anhand von praktischen Beispielen.

Das PHP Framework Laravel an sich wird durch ein ganzes Ökosystem von Anwendungen und Services ergänzt.

Das Laravel Ökosystem:

  • Das kostenlose Micro-Framework Lumen erlaubt die schnelle Entwicklung von Micro-Services und APIs auf Laravel-Basis. Bei Bedarf können diese Mikro-Komponenten unkompliziert in vollwertigen Laravel-Code integriert werden.
  • Das Server Management Forge stellt Server bereit, die speziell für die Entwicklung von PHP-basierten Webanwendungen optimiert sind.
  • Der Deployment Service Envoyer sorgt für reibungsloses Deployment von Software-Updates.
  • Der Scaffolding-Service Spark übernimmt administrative Aufgaben und erlaubt damit dem Team, sich auf die Entwicklung zu konzentrieren. Scaffolding übernimmt die Verwaltung von sogenanntem "Boilerplate Code", das heißt Code, der in immer gleicher Form an vielen Stellen des Programms verwendet wird.

Aktive und wachsende Laravel Community

Laravel wird mittlerweile als Open Source Software von einer aktiven Community unter Leitung von Taylor Otwell weiterentwickelt. Es kann kostenlos heruntergeladen werden und steht unter der MIT-Lizenz. Auf der Code Hosting Plattform github.com können sich Freiwillige an der Entwicklung beteiligen. Anwender treffen sich auf dem Laravel-Forum und tauschen sich dort über Probleme und Problemlösungen aus.

Die Community trifft sich seit 2013 auf eigenen Konferenzen: LaraCons finden jeweils einmal jährlich in wechselnden Städten in den USA und in Amsterdam statt. Auch diese Konferenzen sind seit ihren Anfängen rapide gewachsen. Gab es 2013 auf der ersten LaraCon gerade einmal 70 Besucher, so waren es auf der LaraCon US 2016 in Louisville, Kentucky, etwa 550 Entwickler.

Auch in Zukunft bleibt Laravel top-aktuell

Laravel zählt heute zu den beliebtesten und am weitesten verbreiteten PHP-Frameworks. Es befindet sich in ständiger aktiver Entwicklung. Die große und vitale Community, die sich mit dem PHP-Framework befasst, ist ein wesentlicher Erfolgsfaktor. Sie sorgt dafür, dass Laravel sich ständig erweitert, immer neue Features erhält und stets am Puls der Zeit ist. Wer auf der Suche nach einem mächtigen, flexiblen und erweiterbaren PHP-Framework ist, für den sollte Laravel einen gründlichen Blick wert sein.

Können wir weiterhelfen?

Sie haben ein spannendes Projekt und möchten mit uns zusammenarbeiten? Kontaktieren Sie uns jetzt!

Kostenloses Erstgespräch