专栏首页无道编程Laravel5.8 共享视图变量

Laravel5.8 共享视图变量

共享视图变量

背景介绍

通常我们使用Laravel开发项目,一般情况下都会把公共区域分离,比如我的博客网站的侧边栏:

肯定会把这个作为单独的一个文件,来保存使用。

但里面的数据我们不能在每个控制器都去获取一次,然后再分配出去。

所以这里我们就共享视图的变量。

方法

在服务提供者的boot方法内,我们把所有需要的数据先获取到,然后利用view()分配。

示例代码如下:

public function boot()
{
    $common_data = self::getIndexCommonData();
    view()->share('common_data', $common_data);
}

$common_data就是我要分配给侧边栏的变量,通过view()->share();就可以分配出去了。 然后在每个页面的侧边栏都可以获取到这些数据库。

所以有几个注意点:

1.你可以在默认的app/Providers/AppServiceProvider.php提供者里面分配变量,但是我更推荐创建一个单独的服务提供者来分配。因为根据类的单一职责原则,一个类的功能越明确,越单一越好。

比如:

php artisan make:provider View/ViewServiceProvider

但是别忘了,自己创建的服务提供者需要在config/app.php里面注册。

2.提供的变量名尽量特殊一点,不然有某一天万一你就忘了这个变量名是在侧边栏的"全局"变量里面,被覆盖了怎么办?【PS:此处我是猜的,没测试过。但特殊点总归是好的,也不影响什么。】

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS7安装python3.7环境

    把安装包移动到该新建文件夹下,解压安装包,安装python3,依次执行以下命令,花费时间较长,耐心等待

    无道
  • (2019)[前端]面试题[3]:三大定位,相对定位放在固定定位产生什么影响?

    1、设置父元素为固定定位,不设置高度,内部child设置高度和宽度,根据BFC内部box垂直排列的特征:

    无道
  • Vue中实现文件上传

    为工具网 https://tool.misiyu.cn/qrcode 增加二维码上传识别功能。

    无道
  • 重温数据结构:二叉排序树的查找、插入、删除

    我们知道,二分查找可以缩短查找的时间,但是有个要求就是 查找的数据必须是有序的。每次查找、操作时都要维护一个有序的数据集,于是有了二叉排序树这个概念。 上篇文章...

    张拭心 shixinzhang
  • 什么是平衡二叉树

    上篇文章里面,我们已经学习了二叉搜索树的相关内容,二叉搜索树有一个缺点,在插入数据是有序的序列(包括升序和降序),会导致二叉树退化成链表,从而导致在查找,删除,...

    我是攻城师
  • Qt 5.11.1 静态编译

    离线安装包:http://download.qt.io/archive/qt/5.11/5.11.1/

    我与梦想有个约会
  • 一文看尽苹果发布会:iPhone X背后黑科技全剖析

    李根 若朴 假装发自 Steve Jobs Theater 量子位 出品 | 公众号 QbitAI ? 刚刚,苹果秋季新品发布会胜利闭幕。 这次新登场的苹果产品...

    量子位
  • 深度卷积对抗生成网络(DCGAN)

    用户1737318
  • 深度卷积对抗生成网络(DCGAN)

    卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。 ...

    CSDN技术头条
  • Spark性能调优篇五之使用fastUtil工具包

            今天再来介绍一个小的优化点,是一个通过使用fastutil工具包对数据格式进行优化。首先来明确一个东西,什么是fastutil?

    用户2992598

扫码关注云+社区

领取腾讯云代金券