laravel Anteil variable in allen Methoden in einem controller
mache ich eine einfache website in PHP, laravel framework, wo die navigation oben links generiert werden dynamisch aus der Datenbank. Ich bin der Erzeugung der $Seiten-variable in der Start-controller-action und die übergabe an layout-Datei. Mein code ist wie folgt:
public function home()
{
$pages = Page::all();
return View::make('home')->with('pages', $pages);
}
public function login()
{
return View::make('login');
}
Aber wenn ich versuche auf die login-action, ich bekomme die Fehlermeldung variable $Seiten nicht gefunden, da die $Seiten-variable zugegriffen, die in der layout-Datei. Wie kann ich teilen die gleiche variable über alle Aktionen in einem controller?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denke ich eine ziemlich einfache Möglichkeit, dies zu tun ist durch die Verwendung der controller-Konstruktor. Es ist manchmal hilfreich zu sehen, die vars zur Verfügung, um alle Methoden in einem controller aus dem controller, anstatt versteckt in einem service-provider irgendwo.
Und in der Ansicht:
Können Sie Nutzung des singleton-wie die folgenden
Diese Weise, Sie können es nennen, überall in Ihrem controller oder die Vorlage, wie
Folgenden, könnte man versuchen mit einem Bündel entwickelt von Phil hier, https://github.com/Phil-F/Setting. Einmal installiert, dann können Sie nur finden es in der controller oder die Vorlage von
Natürlich, können Sie es überall mit
Einstellung können Sie speichern Sie beide in den cache und json-Datei, die möglicherweise einen anderen Weg, um den Wert zurück.
Habe ich das problem gelöst durch die Verwendung von Laravel s view composer. Ich machte einen header.blade.php und übergeben die $Seiten-variable zu und fügte folgenden code, um meine routes.php Datei.
Haben Sie vergessen, hinzuzufügen, die als parameter in Ihrem login-action.
Meine ältere Antwort:
Teilen die gleiche variable über alle Aktionen in einem controller, raw-PHP sollte Ihnen helfen, aus:
Aber ich persönlich würde bevorzugen, machen Sie eine variable im Modell, so etwas wie:
Zugreifen wie: