加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

7. Laravel5学习笔记:如何定义自己的视图组件

发布时间:2020-12-13 22:18:06 所属栏目:百科 来源:网络整理
导读:视图组件 视图组件就是在视图被渲染前,会调用的闭包或类方法。如果你想在每次渲染某些视图时绑定数据,视图组件可以把这样的程序逻辑组织在同一个地方。 对上面的话,理解如下: 这个php代码运行的时间是在渲染视图之前 使用这个组件应该用于每次渲染时,都

视图组件


视图组件就是在视图被渲染前,会调用的闭包或类方法。如果你想在每次渲染某些视图时绑定数据,视图组件可以把这样的程序逻辑组织在同一个地方。

对上面的话,理解如下:

  • 这个php代码运行的时间是在渲染视图之前
  • 使用这个组件应该用于每次渲染时,都要绑定数据的视图上。这样子就可以从控制器分离出数据绑定逻辑。

它很好的提现了 单一职责 ,对它的概念阐述 请看这里

使用


在laravel5的文档中已经说明了如何构建自己的视图组件。这里在重复一下。

  • 先构建一个视图组件:
<?php

namespace AppHttpViewComposers;

use IlluminateContractsViewView;

class ProfileComposer {
    public function compose(View $view) {
        $view->withName('profile.test');
    }
}

相信大家可以看出代码位于哪一个目录下了,我就不多说了。

  • 打造自己的视图组件服务提供者
<?php

namespace AppProviders;

use IlluminateSupportServiceProvider;
use View;

class ComposerServiceProvider extends ServiceProvider {
    /** * Bootstrap the application services. * * @return void */
    public function boot() {
        // 使用类来指定视图组件
        View::composer('profile','AppHttpViewComposersProfileComposer');
        // 使用闭包来指定视图组件
        /* View::composer('profile',function($view){ $view->with('name','laravel'); }); */
    }
}

接下来,要记得把该服务提供者添加到 config/app.php 配置文件的 providers 数组中

  • 构建视图页面
    这里需要构建一个视图文件,文件的名称必须与注册时保持一致。这里我们的文件就该命名为:
    profile.blade.php 。大家可以尝试在该文件中访问变量 {{ $name }}

如果看到你设置的值,说明你成功了。


Laravel5专题目录

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读