Laracon: Übersicht Laravel 5.3

Gestern hat Taylor Otwell auf der LaraconUS einige neue Features von Laravel 5.3 präsentiert. Die Präsentation beinhaltete die vier Hauptpunkte: Laravel Scout, Laravel Passport, Laravel Mailable und Laravel Notifications. Hier nun ein grober Überblick, was man damit alles machen kann.

Laravel Scout

Laravel Scout ist eine Treiber basierende Volltextsuche für Eloquent. Algolia wird bereits bei der Auslieferung unterstützt. Da es jedoch Treiber basierend ist, können und werden noch andere Volltextsuch-Systeme integriert. Da wird es in der nächsten Zeit in der Community viele Vorschläge geben.

Scout kann leicht über einen „Searchable“-Trait in die bestehenden Models eingebaut werden. Anschließend müssen die Daten nur noch über einen Service synchronisiert werden. Dies könnte z.B. so aussehen:

php artisan scout:import App\\Post

Dann kann danach gesucht werden:

Post::search('Alice')->get();

Auch das Paginieren ist möglich:

Post::search('Alice')->paginate();

Genauso wie einfache WHERE-Bedingungen:

Post::search(‘Alice’)—>where('acount_id', '>', 1)->paginate();

Laravel Mailable

Laravel Mailable ist eine neue Mail-Klasse, die das Verenden von E-Mails deutlich verbessert. Das ganze schaut nun viel mehr nach Laravel aus, als die bisherige Vorgehensweise mit der Closure-Funktion.

Mail::to('[email protected]')->send(new OrderComplete);

Es sind alle Mail-Features weiterhin verfügbar:

Mail::to('[email protected]')->cc('[email protected]')->queue(new OrderComplete);

Laravel Notifications

Laravel Notifications erlaubt es uns, Updates über Services wie Slack, SMS oder E-Mail zu machen.

Notifications werden bereits mit einem „responsive transactional“ E-Mail Template ausgeliefert. In der eigentlichen Klasse muss dann nur noch folgendes aufgerufen werden:

 

$this->line('Thank you for joining')
    ->action('Button Text', 'http://url.com')
    ->line('If you have any questions please hit reply')
    ->success();

 

$this->line('Sorry we had a problem with your order')
    ->action('Button Text', 'http://url.com')
    ->error();

Laravel Passport

Laravel Passport ist ein optionales Packages das einen vollständigen OAuth2 Server bereitstellen kann. Man kann damit z.B. Token generieren oder zurücknehmen.

 

Diese Features werden alle noch bis zum Release Dokumentiert. Allerdings wird es bis dahin doch noch ein paar Wochen dauern. Vielleicht ja zur LaraconEU?