ThinkPHP--视图

视图即web可见内容,一般是HTML页面,属于MVC中的V。

模板的定义

模板在使用之前需要一定的设置才能方便开发者使用。默认的模板文件定义规则是:
视图目录/[模板主题/]控制器名/操作名+模板后缀

第一步:在User控制器模板执行一条语句:

//渲染模板输出
$this->display();

在没有进行任何定义ID情况下,会自动报错,错误信息可能是:
模板不存在:./thinkphp/Home/View/User/index.html

通过这个提示,我们需要在View目录下创建User目录,并在User目录下创建index.html文件,这时候的渲染输出就能成功。

默认情况下视图目录是View,如果你想改变成别的目录名可以设置:

//修改模板视图目录
'DEFAULE_V_LAYER'=>'Template',

默认情况下的模板文件后缀是.html,如果你想改变成别的后缀可以设置:

//修改模板中的文件的后缀
'TMPL_TEMPLATE_SUFFIX'=>'.tpl',

如果感觉每一个模块,都要创建相应的目录太过于麻烦,可以设置:

//用下划线代替目录层次  ---一般不用
'TMP_FILE_DEPR'=>'_'
//设置外部的模板目录(如果不想模板在view中,那就另外建)
'VIEW_PATH'=>'./Public/',

如果一个系统要考虑多套界面皮肤的花,要考虑到默认皮肤以及可选皮肤

//设置默认主题目录,完了之后还可以在view目录下建立blue、green等文件
夹对应相应颜色的主题
//当想调用这些主题的操作为:$this->theme('blue')->display();
'DEFAULT_THEME'=>'default',

赋值和渲染

一般主要是传递变量。需要在控制器中把变量传递给模板。Thinkphp提供了assign方法对模板变量赋值,无论何种变量类型都同意使用assign赋值。

//给模板传递一个变量
$this->assign('user','某某某');

//模板中调用变量
{$user}

PS:这个方法必须在display()方法前使用,保存变量正确传递。

渲染模板输出使用的是display方法,有三个可选参数:
display([模板文件][,字符编码][,输出类型]);

如果不传递任何参数,它会按照默认的目录定位模板的位置:
当前模块/默认视图目录/当前控制器/当前操作.html

//不传参数
$this->display();
./thinkphp/Home/View/default/User/index.html

//修改默认模板
$this->display('add');
./thinkphp/Home/View/default/User/add.html

//切换view下不同文件夹的模板(比如view下admin文件夹下的add.html)
$this->dispaly('admin:add');
./

模板地址

tp框架封装了一个T函数,专门用于生成模板文件,格式如下:
T([资源://][模板@][主题/][控制器/]操作,[视图分层]);

//输出当前模板地址
echo T();

当然可以结合上面讲的所有定义方法来自定义模板;

echo T('Public/add');
echo T('Admin@index');
echo T('Admin@Public/add','Template');

直接使用T函数输出

$this->display(T());

获取内容

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

//获取模板里的内容
$content = $this->fetch();
var_dump($content);

//通过内容再渲染输出
$this->show($content);

PS:通过fetch()方法获取内容,主要是为了可以处理和过滤更加复杂的内容。处理后再由show()方法输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<p>ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷WEB应用 开发和简化企业级应用开发而诞生的。拥有众多的优秀功能和特性,经历了三年多发展的同时,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和 改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。</p><p> </p><p>ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,在项目配置、类 库导入、模版引擎、查询语言、自动验证、视图模型、项目编译、缓存机制、SEO支持、分布式数据库、多数据库连接和切换、认证机制和扩展性方面均有独特的 表现。</p><p> </p><p>使用ThinkPHP,你可以更方便和快捷的开发和部署应用。当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单 和快速的特性中受益。ThinkPHP本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应 用开发更简单、更快速。为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践! ThinkPHP遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。</p><p> </p><p>ThinkPHP 6.0</p><p>运行环境要求PHP7.1+,兼容PHP8.0。</p><p> </p><p>主要新特性:</p><p>采用PHP7强类型(严格模式)</p><p>支持更多的PSR规范</p><p>原生多应用支持</p><p>更强大和易用的查询</p><p>全新的事件系统</p><p>模型事件和数据库事件统一纳入事件系统</p><p>模板引擎分离出核心</p><p>内部功能中间件化</p><p>SESSION/Cookie机制改进</p><p>对Swoole以及协程支持改进</p><p>对IDE更加友好</p><p>统一和精简大量用法</p>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值