微信扫一扫打赏支持

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

 

 

 

 
posted @ 2021-04-01 08:19  范仁义  阅读(99)  评论(0编辑  收藏  举报