Dalam Laravel 5, menghantar data lalai kepada semua paparan adalah penting untuk ketekalan aplikasi dan kemudahan akses data. Terdapat pelbagai pendekatan untuk mencapai matlamat ini, masing-masing mempunyai kelebihan tersendiri.
Pendekatan ini melibatkan penciptaan kelas BaseController yang memanjangkan kelas Pengawal Laravel. Dengan menyediakan pembolehubah global dalam pembina BaseController, pembolehubah tersebut boleh dikongsi merentas semua pandangan yang menjangkau daripadanya.
class BaseController extends Controller { public function __construct() { $user = User::all(); View::share('user', $user); } }
Penapis menyediakan cara untuk menetapkan meningkatkan pembolehubah global sebelum permintaan diproses. Ini boleh berguna jika anda perlu menyediakan data untuk semua paparan, tanpa mengira pengawal atau laluan yang digunakan.
App::before(function($request) { View::share('user', User::all()); });
Middleware boleh digunakan untuk berkongsi data dengan paparan dengan cara yang lebih terperinci. Dengan mentakrifkan kelas perisian tengah dan mendaftarkannya dengan laluan atau kumpulan laluan tertentu, anda boleh mengawal paparan yang mempunyai akses kepada data yang dikongsi.
Route::group(['middleware' => 'SomeMiddleware'], function(){ // routes }); class SomeMiddleware { public function handle($request) { View::share('user', auth()->user()); } }
Komposer lihat membolehkan anda mengikat data tertentu pada paparan dengan cara yang lebih fleksibel. Anda boleh mencipta kelas komposer paparan yang akan dijalankan sebelum paparan tertentu atau semua paparan.
// Service Provider view()->composer("ViewName","App\Http\ViewComposers\TestViewComposer"); // TestViewComposer public function compose(View $view) { $view->with('ViewComposerTestVariable', "Calling with View Composer Provider"); }
Bergantung pada keperluan khusus anda, mana-mana kaedah ini boleh menghantar data dengan berkesan kepada semua paparan dalam Laravel 5. Pilih pendekatan yang paling sesuai dengan seni bina aplikasi anda dan memastikan ketersediaan data yang konsisten sepanjang paparan anda.
Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Data dengan Cekap Merentas Semua Pandangan dalam Laravel 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!