thinkphp5之二

模板继承

模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该是在模板布局的上层。模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义的相关的区块(block) ,然后继承(extend)该基础模块的子模板中就可以对基础模板中定义的区块进行重载。

因此,模板继承的优势其实是设计基础模块中的区块{block}和子模块中替换这些区块。

每个区块由{block}{/block}标签组成。下面就是基础模板中的一个典型的区块设计。

{
   block name="title"}<title>网站标题</title>{
   /block}

block标签必须指定name属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签中可以包含任何模板内容,包括其他标签和变量。

{
   block name="title"}<title>{
   $web_title}</title>{
   /block}

一个模板中可以定义任意多个名称标识不重复的区块,例如我们在view视图目录下面定义了一个base .html基础模板:

<html>
<head>
<meta charset="utf-8">
<title>模板继承的演示</title>
</head>
<body>
{(block name="head"}这是头部{/block}
{block name="footer"}这是底部{/block}
</body>
</html>

然后我们在子模板(其实是当前操作的入口模板)中使用继承:

练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

{
   extend name="base" /}
{
   block name="head"}这里是子模板里面的区块,用来替换基础模板里面的内容的。{
   /block}
{
   block name="footer"}这里是子模板里面的底部内容。{
   /block}

在这里插入图片描述

上例中,我们可以看到在子模板中使用了extend标签来继承base模板。

在子模板中,可以对基础模板中的区块进行重载定义,如果没有重新定义的话,则表示沿用基础模板中的区块定义,如果定义了一个空的区块,则表示删除基础模板中的该区块内容。

{ block}这个标签,当区块中有这个标记时,就不只是直接重载这个区块,他表示引用所继承模板对应区块的内容到这个位置,最终这个区块是合并后的内容。

练习

在这里插入图片描述
在这里插入图片描述

在当前子模板中,只能定义区块而不能定义其他的模板内容,否则将会直接忽略,并且只能定义基础模板中已经定义的区块。

模板可以多级继承,比如B维承了A,而C又继承了B,最终C中的区块会覆盖B和A中的同名区块,但C和B中的区块必须是A中已定义过的。

子模板中的区块定义顺序是随意的,模板继承的用法关键在于基础模板如何布局和设计规划了,如果结合原来的布局功能,则会更加灵活。

包含文件

在当前模板文件中包含其他的模板文件使用include标签,标签语法:

{
   include file='模板文件1,模板文件2,.....'/}

包含的模板文件中不能再使用模板布局或者模板继承。
路径以项目目录/public/路径下为起点

可以直接包含一个模板文件名(包含完整路径),例如:

{
   include file=" ../ application/index/view/index/lang.html"/}

包含文件中可以再使用include标签包含别的文件,但注意不要形成A包含A。或者A包含B而B又包含A这样的死循环。

练习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内置标签

变量输出使用普通标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库功能了,系统内置标签库的所有标签无需引入即可直接使用。

内置标签包括:

标签名 作用
include 包含外部模板文件(闭合)
load 导入资源文件(闭合 包括js css import别名)
volist 循环数组数据输出
foreach 数组或对象遍历输出
for For循环数据输出
switch 分支判断输出
case 分支判断输出(必须和switch配套使用)
default 默认情况输出(闭合必须和switch配套使用)
compare 比较输出(包括eq neq lt gt egt elt heq nheq等别名)
range 判断范围输出(包括in not in between not between别名)
present 判断是否赋值
notpresent 判断是否尚未赋值
empty 判断数据是否为空
notempty 判断数据是否不为空
defined 判断常量是否定义
notdefined 判断常量是否未定义
define 常量定义(闭合)
assign 变量赋值(闭合)
if 条件判断输出
elseif 条件判断输出(闭合必须和if标签配套使用)
else 条件不成立输出(闭合可用于其他标签)
php 使用php代码VOLIST

循环输出标签

VOLIST标签

volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。在控制器中首先对模板赋值:

$list = 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ThinkPHP5 ERP 是一种基于ThinkPHP5框架开发的企业资源管理系统。ThinkPHP5是一种高效、快速、简洁的PHP开发框架,它集成了许多常用功能和工具,使开发人员可以更快速地构建功能强大的应用程序。 ThinkPHP5 ERP 是为企业提供管理和优化资源的一种解决方案。它涵盖了企业各个方面的管理需求,包括人力资源、财务、供应链、物流、销售、采购等,帮助企业提高效率、降低成本、提供更好的服务。 使用ThinkPHP5 ERP,企业可以实时跟踪和管理各个环节的业务数据,通过数据分析和报表功能,可以进行精细化的业务管理和决策。同时,它还具备权限管理、多语言支持、多平台适配等功能,使企业可以根据自身需求进行定制和扩展。 ThinkPHP5 ERP 的特点还包括安全性和稳定性。它采用了一系列安全机制,如数据加密、访问控制等,保证企业数据的安全;同时,通过框架的优化设计和缓存技术,使系统具备较高的稳定运行能力。 总而言之,ThinkPHP5 ERP 是一种强大的企业资源管理系统,它结合了ThinkPHP5框架的优势和ERP解决方案的全面性,为企业提供了集管理和优化资源的工具,有助于企业提高效率、降低成本、实现可持续发展。 ### 回答2: ThinkPHP5 ERP 是基于ThinkPHP5 框架开发的一款企业资源规划(ERP)管理系统。它为企业提供了全面的管理和控制功能,助力企业实现高效的运营管理。 ThinkPHP5 ERP 系统具备多个主要模块,包括销售管理、采购管理、库存管理、财务管理、人力资源管理等。这些模块之间能够实现数据的交互和共享,使得企业内部的各个部门能够有效协作,提高工作效率。 销售管理模块可以帮助企业实现从订单管理到客户关系管理的全过程管理。通过销售模块,企业可以更好地了解客户需求,提供个性化的服务,增加客户满意度。 采购管理模块可以帮助企业实现从供应商选择、采购申请到采购订单管理的全过程管理。通过采购模块,企业可以更好地管理供应链,控制采购成本,提高采购效率。 库存管理模块可以帮助企业实现从采购入库到销售出库的库存管理。通过库存模块,企业可以实时了解库存状态,避免过多的库存积压,提高资金利用效率。 财务管理模块可以帮助企业实现财务核算、财务报表生成等功能。通过财务模块,企业能够准确了解财务状况,确保财务数据的准确性和可靠性。 人力资源管理模块可以帮助企业实现人员招聘、员工培训、绩效考核等功能。通过人力资源模块,企业可以最大程度地发挥员工的潜力,提高整体团队的工作效率。 总之,ThinkPHP5 ERP 系统是一款功能全面、易于使用的企业管理软件,能够帮助企业实现高效管理和运营。它具有良好的扩展性和稳定性,在实际应用已经显示出了很好的效果,也得到了广大企业的认可和好评。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值