Einführung
Die Übergabe von Daten an alle Ansichten in Laravel 5-Anwendungen kann den Code verbessern Wiederverwendbarkeit und Bereitstellung eines konsistenten Datenkontexts über alle Ansichten hinweg. In diesem Artikel werden verschiedene Methoden untersucht, um dies in Laravel 5 zu erreichen.
Verwendung von BaseController
Dieser Ansatz beinhaltet die Erstellung einer BaseController-Klasse, die die Controller-Klasse von Laravel erweitert. Globale Daten können innerhalb der __construct()-Methode der BaseController-Klasse festgelegt werden, und alle anderen Controller, die von BaseController erben, haben Zugriff auf diese Daten.
class BaseController extends Controller { public function __construct() { // Access your global data here $user = User::all(); View::share('user', $user); } }
Verwenden von Filtern
Filter bieten einen Mechanismus, um Code vor jeder Anfrage auszuführen. Globale Daten können im Vorher-Filter festgelegt werden, sodass sie für alle Ansichten verfügbar sind.
App::before(function($request) { // Access your global data here View::share('user', User::all()); });
Verwendung von Middleware
In Laravel 5 bietet Middleware einen leistungsfähigeren Filtermechanismus. Ähnlich wie bei Filtern können globale Daten innerhalb der Handle-Methode der Middleware festgelegt werden.
Route::group(['middleware' => 'SomeMiddleware'], function(){ // routes }); class SomeMiddleware { public function handle($request) { \View::share('user', auth()->user()); } }
View Composer verwenden
View Composer ermöglichen es Ihnen, bestimmte Daten an Ansichten zu binden. Globale Daten können mithilfe eines View Composer-Dienstanbieters an alle Ansichten gebunden werden.
// Service Provider namespace App\Providers; use Illuminate\Support\ServiceProvider; class ViewComposerServiceProvider extends ServiceProvider { public function boot() { view()->composer("*", "App\Http\ViewComposers\TestViewComposer"); } } // View Composer namespace App\Http\ViewComposers; use Illuminate\Contracts\View\View; class TestViewComposer { public function compose(View $view) { $view->with('ViewComposerTestVariable', "Calling with View Composer Provider"); } }
Fazit
Dieser Artikel bietet mehrere Methoden zum Übergeben von Daten an alle Ansichten in einem Laravel 5 Dadurch können Entwickler einen konsistenten Datenkontext aufrechterhalten und die Wiederverwendbarkeit des Codes verbessern. Die Wahl der Methode hängt von den spezifischen Anforderungen und Vorlieben ab.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten in allen Ansichten in Laravel 5 global zugänglich machen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!