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将数据发送到所有视图