laravel将数据发送到所有视图
laravel将数据发送到所有视图
一、总结
一句话总结:
在【App\Providers\AppServiceProvider的boot方法】中使用【View的share方法】可以将数据共享到所有视图【View::share('user_f', $user_f);】
<?php namespace App\Providers; use App\Model\Home\User\UserHandle; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\View; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { //数据库字符串长度指定 Schema::defaultStringLength(191); //与所有视图共享数据 //处理过的用户信息 $user_f=UserHandle::handle_user_info(); $user_f=json_encode($user_f); View::share('user_f', $user_f); } }
1、为什么在App\Providers\AppServiceProvider的boot方法中使用View的share方法可以将数据共享到所有视图【View::share('user_f', $user_f);】?
原理很简单,【因为所有的blade都要经过这个boot方法】,View在share数据之后,自然所有的页面都可以获取数据
二、laravel将数据发送到所有视图