分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

【三十五】thinkphp之视图

发布时间:2023-09-06 01:38责任编辑:赖小花关键词:thinkphp

1.模板定义

视图属于mvc中的v。一般是html结合php获取的数据提供给用户使用。

  • 每个模板的文件都是独立的(文件名与控制器名称必须一样)
  • 默认的模板文件规则是视图目录/[模板主题]控制器/操作名+模板后缀(http://localhost/basic_thinkphp/index.php/Home/User1/index)
 ???????//在controller目录下user控制器下index方法输入 ???????//对应的目录为/Weibo/Home/View/User1/index.html ???????//渲染模版输出 ???????$this->display(); ???

在view目录下需存在user1/index.html.即可渲染出来

修改模板的一些配置.在common/conf/config.php中修改:

 ???//修改模版的视图目录 ???‘DEFAULT_V_LAYER‘ =>‘View‘, ????//修改模版中的文件的后缀 ???‘TMPL_TEMPLATE_SUFFIX‘=>‘.tpl‘, ???//用下划线代替目录层次 ???‘TMPL_FILE_DEPR‘=>‘_‘, //User_index.tpl ???//设置外部的模版目录 ???‘VIEW_PATH‘=>‘./Public/‘, ????//设置默认主题目录 ???‘DEFAULT_THEME‘=>‘default‘,

在controller/usercontroller.class.php输入此行,即可切换主题.:(主题是你可以在配置文件中修改的)

 ???????// 切换主题 ???????$this->theme(‘blue‘)->display();

2.赋值(assign)与渲染(display)

thinkphp提供了assign方法对模板变量赋值,无论哪种变量类型都统一使用assign赋值

//给模版传递一个变量 ???$this->assign(‘user‘, ‘蜡笔小新‘);//模版中调用变量 ???{$user}//PS:这个方法必须在 display()方法之前使用,保存变量正确传递。

渲染模板使用的是display方法.格式如下:

  1. display([模板文件],[字符编码],[输出类型])
  2. 如果不输入参数,目录是(当前模块/默认视图目录/当前控制器/当前操作.html)
//不传参数// ./Weibo/Home/View/default/User/index.tpl$this->display();//修改默认模版// ./Weibo/Home/View/default/User/add.tpl$this->display(‘add‘);//修改默认模版,目录加模版// ./Weibo/Home/View/default/Bbb/add.tpl$this->display(‘Bbb/add‘);//修改默认模版,模块加目录加模版// ./Weibo/Admin/View/default/Bbb/add.tpl$this->display(‘Admin@Bbb/add‘);//修改默认模版,主题加目录加模版// ./Weibo/Home/View/blue/Bbb/add.tpl$this->theme(‘blue‘)->display(‘Bbb/add‘);//修改默认模版,自定义模版// ./Template/Public/add.tpl $this->display(‘./Template/Public/add.tpl‘); ???//Template 和 Weibo 同级 //修改默认模版,指定编码和文件类型,一般不用填写,默认即可$this->display(‘add‘, ‘utf-8‘, ‘text/xml‘)

3.模板地址

thinkphp封装了一个T函数,专门用于生成模板文件.格式如下:

  • T([资源://][模块@][主题/][控制器/]操作,[视图分层]);
//输出当前模版地址 ???echo T();//结合上面讲的所有定义方法来自定义模版: ???echo T(‘Public/add‘) ???echo T(‘Admin@index‘); ???echo T(‘Admin@Public/add‘, ‘Template‘);//直接使用T函数输出 ???$this->display(T());

4.获取内容

如果需要获取模版的内容,可以使用 fetch()方法,这个方法的使用和 display()方法一致

//获取模版里的内容$content = $this->fetch();var_dump($content);//通过内容再渲染输出$this->show($content);//PS:使用 fetch()方法获取内容,主要是为了可以处理和过滤更加复杂的内容。然后处理后再由 show()方法输出。

【三十五】thinkphp之视图

原文地址:https://www.cnblogs.com/8013-cmf/p/8323572.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved