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:

Dann kann danach gesucht werden:

Auch das Paginieren ist möglich:

Genauso wie einfache WHERE-Bedingungen:

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.

Es sind alle Mail-Features weiterhin verfügbar:

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:

 

 

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?

Laravel CRUD Serie: Blog Update

 

PHP Stories: Letztes Array Element

Heute zeige ich euch, wie man mit einem kleinen Trick das letzte Element eines Arrays herausfindet.
Dabei finde ich diese Vorgehensweise besser gelöst als mit einem count().

Hier nun das Beispiel:

 

Private Packages mit Composer

Wer bereits in größeren PHP-Projekten entwickelt hat weiß, dass man um eine Paketverwaltung nicht drum herum kommt. Üblicherweise ist dies Composer. Mit Composer hat man Zugriff auf tausende Packages die vor allem in Packagist zu finden sind.

Doch manchmal kann man keine öffentlichen Pakete verwenden oder möchte explizit nur seine eigenen, privaten Pakete verwenden. Hier hat man mit Composer auch viele Möglichkeiten. Ich beschreibe hier aber in der Schnelle eine Lösung, wie es mit Bitbucket möglich wird.

Um die Pakete von Bitbucket, bzw. einem Repository anzuziehen, müssen ein paar Anpassungen an den composer.json-Dateien vorgenommen werden.

Im Hauptprojekt muss in der composer.json folgendes eingetragen werden:

Im eigentlichen Package sieht die composer.json dann wie folgt aus:

PHP Stories: Extract()

Einstieg in PHP Stories

Ich möchte heute mit einer neuen Serie Beginnen. Ich nenne sie „PHP Stories“.
Ich werde in regelmäßigen Abständen einen kleinen Beitrag erstellen, in dem ich eine PHP Funktionalität erklären werde und dessen Vorteile nennen werde.

Heute beginne ich mit der „extract“ Funktion.

Extract()

Manchmal kann es vorkommen, dass du in deinem Projekt mehrere Variablen einer Funktion oder Methode übergeben musst, bei dem jeder Parameter mit seinem Namen zu identifizieren ist.
Eine Möglichkeit wäre die Funktion „func_get_args()„, doch in diesem Fall würde man den Namen des Parameters nicht bekommen, sondern lediglich den Index. Zum Beispiel: $args[0], $args[1]…
Mit „extract()“ bekommst du jedoch alle Parameter mit Ihrem „richtigen“ Namen. Sogar die Reihenfolge spielt hierbei keine Rolle.

Hier mal ein Beispiel:

Dies wird vor allem in großen Frameworks verwendet, wenn viele Daten z.B. von einem Controller an eine View übertragen werden müssen.

In der nächsten Ausgabe werde ich die Funktion „compact()“ erklären, die genau das Gegenteil macht.