2015-06-10 14 views
5

Ich benutze Laravel schon lange und schreibe jetzt ein Mikroprojekt mit Lumen.Laravel/Lumen: Ansicht :: share() Alternative?

Ich muss einige Variablen an alle Ansichten übergeben. In Laravel kann ich die View::share() Funktion in einer Middleware oder im Konstruktor der Steuerung verwenden, aber in Lumen gibt es keine View Klasse, und es sieht so aus, als ob alle Ansichtsfunktionen einfach View::make() Alias ​​sind.

Gibt es eine Möglichkeit, Variablen für alle Ansichten zu verwenden?

Antwort

3

Aus Gründen der Leistung registriert Lumen Fassaden und Dienstleister nicht so wie Laravel. Während die Laravel Fassaden mit Lumen enthalten sind, sind nur einige Alias ​​(View nicht einer von ihnen), und nur, wenn Sie die $app->withFacedes(); Linie in bootstrap/app.php kommentieren (Sie können die Laravel\Lumen\Application::withFacades Methode überprüfen, welche zu sehen). Also, um andere Fassaden verwendet werden, wie View, müssen Sie entweder die Fassadenklasse sich an Alias:

// "bootstrap/app.php" is a good place to add this 
class_alias('Illuminate\Support\Facades\View', 'View'); 

Oder man kann es mit use sind überall dort, wo erforderlich:

use Illuminate\Support\Facades\View; 
0

Der richtige Weg zu teilen Daten mit Blick in Lumen ist:

app('view')->share(...); 

Einige Laravel der Funktionalität, die nicht explizit in Lumen Dokumentation beschrieben wird, kann mit Lumen der zugegriffen werden app() Hilfsfunktion.