laravel将数据发送到所有视图
一、总结
一句话总结:
在【AppProvidersAppServiceProvider的boot方法】中使用【View的share方法】可以将数据共享到所有视图【View::share('user_f', $user_f);】
<?php
namespace AppProviders;
use AppModelHomeUserUserHandle;
use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesSchema;
use IlluminateSupportFacadesView;
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、为什么在AppProvidersAppServiceProvider的boot方法中使用View的share方法可以将数据共享到所有视图【View::share('user_f', $user_f);】?
原理很简单,【因为所有的blade都要经过这个boot方法】,View在share数据之后,自然所有的页面都可以获取数据
二、laravel将数据发送到所有视图