Taylor Otwell entwickelte Laravel mit der Intention, eine bessere Alternative zum CodeIgniter-Framework zu entwickeln, das einige Features wie Authentifizierung und Autorisierung nicht mitbrachte. Laravels erste Betaversion wurde am 9. Juni 2011 veröffentlicht, Laravel 1 etwas später im gleichen Monat.
Laravel 2 wurde im September 2011 mit zahlreichen Verbesserungen veröffentlicht. Es war vollständig MVC-konform, unterstützte Dependency Injection und ein Templatesystem namens Blade.
Laravel 3 wurde im Februar 2012 veröffentlicht. Es enthielt ein Kommandozeilentool namens Artisan, unterstützte verschiedene Datenbanken, Schemamigration als Form der Versionskontrolle für Datenbankschemata, Eventverarbeitung und die Einbindung von Softwarepaketen als Bundles.
Laravel 4 (Codename Illuminate) wurde im Mai 2013 freigegeben und war eine komplette Neuentwicklung auf Basis von Paketen, die per Composer verteilt wurden. Dadurch war Laravel 4 deutlich erweiterbarer.
Laravel 5: Die Veröffentlichung erfolgte im Februar 2015. Hinzugekommen ist ein Scheduler für die periodische Ausführung von Aufgaben, eine Abstraktionsschicht für den Zugriff auf Dateisysteme (lokal und in der Cloud), die verbesserte Handhabung von Paketressourcen und die Integration externer Authentifizierungsverfahren.
Laravel 6 wurde im September 2019 veröffentlicht und bringt neben der Änderung des Versionschemas auf SemVer eine neue Fehleransicht sowie viele kleinere Änderungen mit. Laravel 6.0 ist ein Langzeitunterstützungs-Release (LTS).
Laravel 7 wurde am 3. März 2020 veröffentlicht, neu sind Laravel Sanctum, Custom Eloquent Casts, Blade Component Tags, Fluent String Operations und Verbesserungen im Route Model Binding.[7]
Laravel 8 wurde im September 2020 veröffentlicht, dazu gekommen ist Laravel Jetstream, das Models/-Verzeichnis wird in dieser Version ebenfalls wieder standardmäßig erstellt. Zusätzlich gab es einige weitere Verbesserungen und Änderungen (z. B. beim Wartungsmodus).[8]
Laravel 9 wurde im Februar 2022 veröffentlicht. Neue Features: PHP 8 ist nun Voraussetzung für Laravel 9, neues Design bei routes:list, Prüfung von Test-Coverages, anonyme Migrations, ein neues Query-Builder-Interface, PHP-8-String-Functions, verbesserte Eloquent Accessors/Mutators, Controller Route Groups, Unterstützung von Enums, Full-Text-Indizes / Where-Clauses, neue Ignition-Exception-Fehlerausgabe.
Laravel 10 erschien im Februar 2023. Neu ist ein Prozess-Service, der das Testen und Ausführen von CLI-Prozessen ermöglicht sowie viele kleine Änderungen, wie eine neue Funktion zum Generieren von Passwörtern und ein neues Kommando, um langsame Tests in der Anwendung zu finden.[9]
Laravel 11 wurde im März 2024 veröffentlicht. Größte Änderung ist eine schlankere Ordnerstruktur, eine Neuinstallation von Laravel besteht zu Beginn nur noch aus 69 Dateien. Als Standard wird zum ersten Mal SQLite verwendet.[10]
Laravel-Ökosystem
Um Laravel herum sind seit Gründung zahlreiche Services und Erweiterungen entstanden.
SaaS-Produkte
Laravel Forge ist ein SaaS-Produkt zum Provisionieren und Betreiben von Laravel Servern auf AWS, Digital Ocean, Hetzner Online oder Linode-Virtual-Private-Servern. Zudem ist es möglich, anbieterunabhängige Server durch Forge verwalten zu lassen.[11] Es bietet das Installieren von PHP, nginx, MySQL, Redis, beanstalkd und weiterer Software sowie ein Frontend z. B. zum Verwalten von Cronjobs an. Taylor Otwell selbst ist der Betreiber der Plattform.
Laravel Vapor ist ein SaaS-Produkt zum einfachen Management der AWS-Serverless-Infrastruktur. Es stellt eine für Laravel-Entwickler optimierte Ansicht der AWS-Funktionen bereit und erleichtert das Deployment auf Serverless-Systemen.
Laracasts.com ist ein Video-on-Demand-Anbieter für Screencasts rund um Webentwicklung, insbesondere Laravel und PHP, aber auch JavaScript-Frameworks wie z. B. Vue.js. Viele Videos, gerade Anfängervideos, sind kostenlos, für viele weitere wird aber ein monatlicher Beitrag oder alternativ eine Einmalzahlung für einen dauerhaften Zugang verlangt[12].
Werkzeuge
Laravel Envoyer ist ein Deployment- (GitHub, Bitbucket) und Monitoring-Tool für Laravel-Server (z. B. von Laravel Forge). Auch dieses Projekt wird direkt von Taylor Otwell betrieben.
Laravel Valet und Homestead sind Entwicklungswerkzeuge zum Testen von Laravel-Applikationen. Während Laravel Valet Code direkt auf der Host-Maschine ausführt und deswegen ein installiertes PHP, MySQL etc. benötigt, ist Homestead eine virtuelle Maschine mit Vagrant und benötigt somit keine lokale Installation von PHP oder weiteren Abhängigkeiten von Laravel.
Laravel Herd sind Entwicklungswerkzeuge zum Testen von Laravel-Applikationen speziell für macOS und Windows.
Bibliotheken
Laravel Spark ist eine Erweiterung für Laravel 5.2+, die Benutzerverwaltung, ein simples Frontend, Zahlungsmöglichkeiten via Stripe und Braintree (und damit PayPal) und viele Funktionen zum Erstellen eines SaaS-Produkts bringt. Es ist im Gegensatz zu Laravel aber nicht kostenlos, es muss auch nicht abonniert werden, sondern kostet pro Installation.
Laravel Nova ist eine kostenpflichtige Erweiterung für Laravel 5.6+, die das Erstellen eines CRUD-Adminstrationspanels einfacher gestaltet. Sie wird von Taylor Otwell programmiert und vertrieben.
Laravel Horizon ist eine kostenlose Erweiterung zum Verwalten von Warteschlangen mit Redis.
Laravel Telescope ist eine kostenlose Erweiterung mit erweiterten Debug-Funktionen. Sie gibt einen Überblick über Logs, Fehlermeldungen, Datenbankabfragen und mehr.
Laravel Pulse ist eine Erweiterung zur Überwachung der Laravel Application.
Laravel Echo ist eine JavaScript-Bibliothek für WebSocket-Broadcasting auf Basis der Pusher-API
Laravel Mix ist eine JavaScript-Bibliothek zum Kompilieren von Assets über Webpack.
Laravel Passport für das Erstellen von OAuth-Servern
Laravel Socialite für die Integration von SSO von Facebook, GitHub und anderen Diensten
Laravel TinkerKommandozeileREPL (Read–eval–print loop) für PHP
Versionen
Die Support Policy von Laravel verspricht für eine Hauptversion (ab Version 9) Bug-Fixes für 18 Monate sowie Sicherheitsaktualisierungen für 2 Jahre. Alle 3 Jahre erscheint planmäßig eine Hauptversion mit Langzeitunterstützung (LTS). Bei diesen Versionen verlängert sich der Support-Zeitraum auf 2 Jahre für Fehlerbehebungen und 3 Jahre für Sicherheitsupdates.[13] Dieser Zyklus wurde im Januar 2021[14] eingeführt, zuvor erschienen halbjährliche Hauptversionen mit 6 Monaten Bug-Fixes, bzw. 1 Jahr Sicherheitsfehlerbehebungen.[15]
Folgende Teile der Tabelle scheinen seit Februar 2024 nicht mehr aktuell zu sein:
Version 11 ist aktuell, Version 9 nicht mehr unterstützt
Lumen ist ein „abgespeckte“ Variante des Laravel-Frameworks, das speziell auf das Entwickeln von REST-APIs ausgelegt ist. Es folgt dem gleichen Versions Schema wie Laravel. Da sich die Performance von PHP in den vergangenen Jahren stetig verbessert hat, bietet Lumen keine Vorteile gegenüber Laravel mehr[30]. Neue Projekte sollten direkt mit Laravel umgesetzt werden[31].
Funktionen
Zu den Schlüsselfunktionen von Laravel zählen:
Eloquent ORM (objektrelationale Abbildung) als erweiterte PHP-Implementierung des Active Record Patterns. Eloquent stellt hierbei Tabellen als Klassen dar, deren Instanzen jeweils eine Zeile innerhalb der Tabelle darstellen.
Blade-Template-Engine als funktional erweiterbare Templating-Sprache zur Erstellung von Views.
Datenbank-Seeding als Möglichkeit der Befüllung von Tabellen im Rahmen eines Setups oder während eines Unit-Tests.
Automatisches Laden von PHP-Klassen ohne die Notwendigkeit der manuellen Pflege der Einbindungspfade.
Reverse Routing: Laravel bietet die Möglichkeit der Benennung von Routen, sodass diese anhand des Namens innerhalb der Anwendung identifizier- und nutzbar sind. Eine spätere Änderung des URI wird somit ohne separate Aktualisierung der eingesetzten Routen möglich.
Migrationsschemata für eine Versionskontrolle von Datenbankänderungen.
Betrieb
Laravel kann im Entwicklungskontext lokal in unterschiedlich komplexen Umgebungen betrieben werden. Neben dem integrierten Webserver[32] können auch komplexe Entwicklungsumgebungen wie „Laravel Sail“ oder „Homestead“ verwendet werden, welche neben gängigen Anforderungen wie der Bereitstellung einer Datenbank auch Dienste wie ElasticSearch oder Redis bereitstellen.
Im produktiven Umfeld kann ein Server manuell eingerichtet oder über Laravel Forge provisioniert werden. Im Shared-Hosting-Umfeld ist der Betrieb von Laravel abhängig von der Deployment-Strategie. Werden die PHP-Abhängigkeiten mittels Composer erst auf dem Zielsystem aufgelöst, so wird Composer als Anwendung vorausgesetzt. Zusätzlich ist die Veränderung des Dokumentenstammverzeichnisses auf den Unterordner /public notwendig, was im Shared-Hosting eine besondere Anforderung an den Provider darstellt.[33]
Konferenzen
Laracon ist eine Konferenz über Laravel, bei der Vorträge über verschiedene Themen gehalten werden und Ideen ausgetauscht werden können.
Seit 2017 wird zusätzlich zu den lokalen Konferenzen eine jährliche Online Laracon abgehalten. Hier beteiligen sich viele Sprecher, die quer über die Welt verteilt sitzen und ihre Beiträge live streamen.
Die Laracon Madrid 2020 wurde aufgrund der COVID-19-Pandemie als Onlinekonferenz ausgetragen.[52] Die Laracon US 2020 wurde aus demselben Grund annulliert.
Liste der Laracon-Online-Konferenzen
Datum
8. März 2017
7. Februar 2018
6. März 2019
26. Februar 2020
Literatur
Matt Stauffer: Laravel. Up and Running. A Framework for Building Modern PHP Apps. O’Reilly, 2016, ISBN 978-1-4919-3608-5 (englisch).
Weblinks
Commons: Laravel – Sammlung von Bildern, Videos und Audiodateien