您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

display()和fetch()和assign()的区别

风口下的猪2019-06-09thinkphp

简介

首先,我们来看看以上三个函数的定义:

$this->display():渲染内容输出(强调输出内容);

$this->fetch():渲染模板输出(强调输出模板,且含模板定位功能);

$this->assgin():模板变量输出(强调将数据输出到模板对应的数据钩子上)。

一.display()

display(),是直接输出传递的内容:

(1)如果传递参数, 比如 "hello",那么页面会直接输出字符串 "hello"

class Index extends BaseController{

public function index()

{

return $this->display("hello");

}}</block

quote>
(2)如果没传参数,display() 页面会渲染出Layout,但不会有任何内容。

class Index extends BaseController{

public function index()

{

return $this->display();

}}

二.fetch()

fetch() 是用模板文件来输出:

(1)如果传参数,比如我们用“hello”则会使用 hello.html 来渲染

public function index()

{

return $this->fetch('hello');

}

(2)如果 fetch() 不传参数,程序会自动寻找同方法名的模板渲染输出。

public function index()

{

return $this->fetch();

}}

三.assgin()

assgin()用以向模板输出变量

语法:assgin(obja,$objb)

assgin输出的变量被模板调用的方式主要有两种

1.变量直接被模板用花括号标签引用

控制器中:

$field=db('cate')->select();

$this->assign('fd',$field);

模板中:

<div class="col-sm-3">{$fd}</div>

2.变量被tp的一些内置标签调用

控制器中:

$field=db('cate')->select();

$this->assign('fd',$field);

模板中:

{volist name="fd" id="vo" empty="暂时没有数据" }

<divclass="row cateli">

<divclass="col-sm-1">

<span>{$vo['cate_id']}</span>

</div>

<divclass="col-sm-9">

<span>{$vo['cate_name']}</span>

</div>

{/volist}

很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R