Laravel

laravel

Copyright ┬ę Shutterstock/smoothBass

Was ist Laravel?

Laravel ist ein kostenloses Open-Source PHP-Web-Framework, das von Taylor Otwell entwickelt wurde und f├╝r die Entwicklung von Webanwendungen nach Model-View-Controller (MVC) und auf Symfony basiert. Einige Features von Laravel sind ein modulares Paketsystem mit einem dedizierten Abh├Ąngigkeits-Manager, verschiedene M├Âglichkeiten f├╝r den Zugriff auf relationale Datenbanken, Hilfsprogramme, die die Bereitstellung der Anwendungen und -Wartungen unterst├╝tzen, sowie die Ausrichtung auf syntaktischen Zucker.

Der Quellcode von Laravel wird auf Github gehostet und unter den Bedingungen der MIT-Lizenz lizenziert.

Entwicklung

Taylor Otwell entwickelte Laravel als Versuch, eine weiterentwickelte Alternative zum Codelgniter-Framework bereitzustellen, das bestimmte Funktionen, wie die integrierte Unterst├╝tzung f├╝r die Benutzerauthentifizierung und -Autorisierung nicht zur Verf├╝gung stellte. Die erste Beta-Version von Laravel wurde am 9. Juni 2011 ver├Âffentlicht. Sp├Ąter im selben Monat wurde Laravel 1 ver├Âffentlicht. Es enthielt eine integrierte Unterst├╝tzung f├╝r die Authentifizierung, Lokalisierung, Modelle, Ansichten, Sitzungen, Routing und andere Mechanismen – fehlte es jedoch f├╝r die Controller, die es nicht als MVC-Framework nutzten.

Die Version 2 wurde im September 2011 ver├Âffentlicht und brachte verschiedene Verbesserungen des Autors und der Community. Zu den wichtigsten neuen Funktionen geh├Ârten die Unterst├╝tzung f├╝r Controller, die Version 2 zu einem vollst├Ąndig MVC-kompatiblen Framework machte, integrierte Unterst├╝tzung f├╝r das Inversion of Control-Prinzip (IoC) und ein Templating-System namens Blade. Als Nachteil wurde die Unterst├╝tzung f├╝r Pakete von Drittanbietern in der Version 2 aufgehoben.

Die Version 3 wurde im Februar 2012 mit einer Reihe neuer Features publiziert, darunter der Befehlszeilen-Schnittstelle (Artisan), integrierte Unterst├╝tzung f├╝r weitere Datenbank-Verwaltungssysteme, Datenbank-Migrationen als Form der Versionskontrolle f├╝r Datenbank-Layouts sowie die Unterst├╝tzung f├╝r die Handhabung der Ereignisse und ein Verpackungssystem namens Bundles. Eine Zunahme von Laravel’s Userbase und Popularit├Ąt reihen sich an die Ver├Âffentlichung.

Codename Illuminate (Version 4) wurde im Mai 2013 ver├Âffentlicht. Es wurde als vollst├Ąndige Umschreibung des Frameworks erstellt und sein Layout in eine Reihe von separaten Paketen migriert, die ├╝ber Composer verteilt wurden, der als Paketmanager auf Anwendungsebene dient. Durch ein solches Layout wurde die Erweiterbarkeit verbessert, das mit dem offiziellen regul├Ąren Ver├Âffentlichungszeitplan von sechs Monaten zwischen den Minor-Point-Ver├Âffentlichungen verbunden war. Weitere neue Funktionen umfassen das Datenbank-Seeding f├╝r die anf├Ąngliche Auff├╝llung von Datenbanken, Unterst├╝tzung f├╝r Nachrichtenwarteschlangen, integrierte Unterst├╝tzung f├╝r das Senden verschiedener E-Mail-Typen und die Unterst├╝tzung f├╝r das verz├Âgerte L├Âschen von Datenbank-Datens├Ątzen, die als weiches L├Âschen bezeichnet werden.

Laravel 5 wurde im Februar 2015 als Folge interner ├änderungen ver├Âffentlicht, die zur Konsequenz f├╝hrten, dass die damalige Version von Laravel 4.3 neu nummeriert wurde. Zu den neuen Funktionen der Version 5 geh├Ârt die Unterst├╝tzung f├╝r das Planen periodisch ausgef├╝hrter aufgaben durch ein Paket namens Scheduler, eine als Fly-System bezeichnete Abstraktionsschicht, mit der Remotespeicher auf dieselbe Weise wie lokale Dateisysteme verwendet werden kann, ein verbessertes Handling von Paketassets durch Elixir und vereinfachte Authentifizierung mit externem Zugriff durch das optionale Socialite-Paket. Es f├╝hrte auch eine neue interne Verzeichnis-Baumstruktur f├╝r entwickelte Anwendungen ein.

Eigenschaften

Die folgenden Eigenschaften dienen als wesentliche Designpunkte:

Bundles bieten seit der Ver├Âffentlichung von Version 3 ein modulares Paketsystem, wobei bereits geb├╝ndelte Funktionen zur einfachen Erg├Ąnzung von Anwendungen verf├╝gbar sind. Dar├╝ber hinaus verwendet Version 4 Composer als Abh├Ąngigkeits-Manager, um Framework-agnostische und spezifische PHP-Pakete hinzuzuf├╝gen, die im Packagist-Repositorium verf├╝gbar sind.

Eloquent ORM (objektrelationales Mapping) ist eine fortgeschrittene PHP-Implementierung des aktiven Datensatzmusters, die gleichzeitig interne Methoden zum Erzwingen von Einschr├Ąnkungen f├╝r die Beziehungen zwischen den Datenbankobjekten bereitstellt. Dem aktiven Datensatzmuster folgend pr├Ąsentiert Eloquent ORM Datenbanktabellen als Klassen, wobei ihre Objektinstanzen an einzelne Tabellenzeilen gebunden sind.

Der seit Laravel 3 verf├╝gbare Abfrage-Generator bietet eine direktere Alternative auf den Datenbankzugriff zum Eloquent ORM. Anstatt SQL-Abfragen direkt schreiben zu m├╝ssen, bietet Laravel Query Builder (Abfrage-Generator) eine Reihe von Klassen und Methoden, mit denen Abfragen programmgesteuert erstellt werden k├Ânnen. Es erlaubt auch ein w├Ąhlbares Zwischenspeichern der Ergebnisse ausgef├╝hrter Abfragen.

Die Anwendungslogik ist ein integraler Bestandteil der entwickelten Anwendungen, die entweder mithilfe von Controllern oder als Teil der Routendeklarationen implementiert wird. Die zur Definition der Anwendungslogik verwendete Syntax ├Ąhnelt der vom Sinatra-Framework.

Reverse Routing definiert eine Beziehung zwischen den Links und Routen, sodass sp├Ątere ├änderungen an Routen automatisch in relevante Links ├╝bernommen werden k├Ânnen. Wenn die Verkn├╝pfungen unter Verwendung der Namen vorhandener Routen erstellt werden, werden die entsprechenden URIs (Uniform Resource Identifiers) automatisch von Laravel erstellt.

Das automatisierte Laden von Klassen erm├Âglicht das automatisierte Laden von PHP-Klassen ohne die manuelle Pflege der Einschlusspfade. Das Laden bei Bedarf verhindert das Einschlie├čen von unn├Âtigen Komponenten, sodass nur die tats├Ąchlich verwendeten Komponenten geladen werden.

Neben diesen Eigenschaften bietet Laravel noch zahlreiche andere Merkmale und Funktionen.

Empfohlene Pakete

Zu den gebrauchsfertigen Paketen, die von Laravel ├╝ber Composer und Packagist bereitgestellt werden, geh├Âren folgende:

  • Cashier
  • SSH
  • Scheduler
  • Fly-System
  • Socialite

Zusatzpakete

Neben den integrierten und optionalen Paketen wird auch eine Reihe kostenpflichtiger Zusatzfunktionen angeboten, die in einem Paket namens Spark zusammengefasst sind. Das Paket wurde ebenfalls von Taylor Otwell entwickelt und bietet zus├Ątzliche Tools f├╝r Online-SaaS-Unternehmen zur Integration von Services wie Stripe, Erstellen von Rechnungen, Bootstrap 4.0 und Teamauthentifizierung. Seit Juni 2018 ist die Paketversion 6.0.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte