goback
月期刊咨询网
当前位置:首页>>计算机应用论文>>正文

PHPLIB Template入门系列 - 4 模板嵌套


所属栏目:计算机应用论文
发布时间:2011-02-22 16:13:46  更新时间:2011-02-22 16:13:46

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

在PHP程序里,我们常常会把"公用代码"或"公用部分"写进一个文件里,前者象我们的系统配置文件,比如config.php,或者公共函数都写入一个functions.php文件里;后者象一个站点都需要用到的页面头部,尾部.这样做的好处是可以很方便的维护站点,而如果这个公用部分要有所改动,无需再去改每一个页面,大大减少了我们的工作量.

PHPLIB Template入门系列 - 4 模板嵌套
【楼 主】
在PHP程序里,我们常常会把"公用代码"或"公用部分"写进一个文件里,前者象我们的系统配置文件,比如config.php,或者公共函数都写入一个functions.php文件里;后者象一个站点都需要用到的页面头部,尾部.这样做的好处是可以很方便的维护站点,而如果这个公用部分要有所改动,无需再去改每一个页面,大大减少了我们的工作量.
以前你或许用require,include(require_once,include_once)引进一个公用的页面头部,确实方便而有效,现在我们用Template模板类也可以实现了,并且可以很方便的把一个页面随意插入另一个模板的任意地方.如果你想也把要插进的页面做成含有变量的模板的话,那么你会发现模板类会把这个工作处理的很好.

在template目录下新建三个文件third.html,header.html,footer.html.内容分为如下
third.html
<!-- 这是页面头部 -->

<BODY>
下面是一个列表
<UL>
<!-- BEGIN list -->
<li> 的成绩是
<!-- END list -->
</UL>
<!-- 这是页面脚部 -->

</BODY>
</HTML>

header.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>

footer.html
<P>author © iwind

你也看到了,我们前几节的例子中都是用
$tpl->set_file("main", "模板文件名");
来加载模板文件的。只所以命名为"main",是因为我们想给它一个意义:主模板。这里的third.html就可以称之为“主模板”,而欲嵌入主模板third.html的变量所在位置的模板文件header.html,则可以称为"子模板".同样footer.html也是一个"子模板",我们想把它放到主模板里的位置.一个主模板内可以随意嵌入不限内容,尺寸大小,格式等的任何多个子模板.

下面我们开始我们的PHP程序.

先是创建一个类的实例对象
//包含进模板类 template.inc
require "inc/template.inc";

//创建一个实例
$tpl = new Template("template");

//读进三个模板文件的内容,分别给变量"main", "my_header", "my_footer"
$tpl->set_file("main", "third.html");
$tpl->set_file("my_header", "header.html");
$tpl->set_file("my_footer", "footer.html");

//执行my_header,my_footer里的模板变量替换,并把最终结果分别赋给主模板中的header,footer
$tpl->parse("header", "my_header");
$tpl->parse("footer", "my_footer");

//然后完成主模板内变量的替换,并输出主模板分析后的内容
$tpl->parse("mains", "main");

//输出
$tpl->p("mains");

于是,我们便可以通过查看源文件确信header.html,footer.html两个子模板文件的内容已经被加进主模板里了.

<!-- 这是页面头部 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> </TITLE>
</HEAD>
<BODY>
下面是一个列表
<UL>
<!-- BEGIN list -->
<li> 的成绩是
<!-- END list -->
</UL>
<!-- 这是页面脚部 -->
<P>author © iwind
</BODY>
</HTML>

你会发现,所有的变量都没了,包括我们未赋值的,,.这是因为我们在创建对象时,第二个参数未设置,而自动采用了"remove"
$tpl = new Template("template");

$tpl = new Template("template", "remove");
的效果是一样的.

如果我们想给这些变量也赋值,那么方法和单个模板里变量的分析方法是一样的.
//读模板内容进变量
$tpl->set_file("main", "third.html");
$tpl->set_file("my_header", "header.html");
$tpl->set_file("my_footer", "footer.html");

//设置子模板header.html里的变量title的值
$tpl->set_var("title", "这个是网页标题");

//以下分析主模板里的块的内容
//设置块
$tpl->set_block("main", "list", "lists");
$array = array("张三" => 82, "李四" => 90, "王二" => 60, "麻子" => 77);
foreach ($array as $username=>$score)
{
    $tpl->set_var("username", $username);
    $tpl->set_var("score", $score);
    $tpl->parse("lists", "list", true);
}

所有程序为
<?php
//包含进模板类 template.inc
require "inc/template.inc";

//创建一个实例
$tpl = new Template("template");

//将整个文件读进来
$tpl->set_file("main", "third.html");
$tpl->set_file("my_header", "header.html");
$tpl->set_file("my_footer", "footer.html");

//设置header.html里的变量title的值
$tpl->set_var("title", "这个是网页标题");

//设置块
$tpl->set_block("main", "list", "lists");
$array = array("张三" => 82, "李四" => 90, "王二" => 60, "麻子" => 77);
foreach ($array as $username=>$score)
{
$tpl->set_var("username", $username);
$tpl->set_var("score", $score);
$tpl->parse("lists", "list", true);
}

//执行my_header,my_footer里的模板变量替换,并把最终结果分别赋给主模板中的header,footer
$tpl->parse("header", "my_header");
$tpl->parse("footer", "my_footer");

//完成主模板内变量的替换
$tpl->parse("mains", "main");

//输出
$tpl->p("mains");

?>

输出的结果为
<!-- 这是页面头部 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 这个是网页标题 </TITLE>
</HEAD>
<BODY>
下面是一个列表
<UL>

<li>张三 的成绩是 82
<li>李四 的成绩是 90
<li>王二 的成绩是 60
<li>麻子 的成绩是 77
</UL>
<!-- 这是页面脚部 -->
<P>author © iwind
</BODY>
</HTML>

一切都是我们所期望的.

在这个程序里,我们用
$tpl->set_block("main", "list", "lists");
加载一个块.其实它的第一个参数为该块所在父变量,如果这个块在header.html里,那么恐怕要这样写了
$tpl->set_block("my_header", "list", "lists");
但分析方法还是一样的.

从以往和这节中的例子,我们可以看出来,定义一个模板变量值的方法是用
$tpl->set_var("var_name", "var_value");
但把一个变量的值给另一个变量就需要用parse.
$tpl->parse("target_name", "from_name", true);
或者
$tpl->parse("target_name", "from_name", false);
使用parse就先执行from_name大变量的模板变量的替换,然后再把所得结果赋给target_name.

一个变量无论在模板的何处(块里面,子模板里),定义的方法都是一样的.

子模板里还可以嵌入新的子模板,称之为"多重嵌套",分析的方法都是一样的,只是一般用不到.块也可以多重嵌套,而且非常有用,使得模板可以设计的可以很清晰,这就是我们下一节的内容了.



  • 3本人工智能SCI一区二区四区期刊 小白逆袭首选!

    2025-08-15
    在这个智能的时代,想要提升在学术领域的影响力和认可度,发表一篇高质量的人工智能sci论文是非常有必要的,为职称晋升、评奖、评优和就业等铺平了道路。那么你还在等什么?一起看看 3本人工智能SCI一区二区四区期刊 ,选投哪一本吧。 1、 Artificial Intelligence in
  • 评正高级职称,发表sci论文还是著作,哪个更容易?评审文件告诉你!

    2025-08-15
    不同区域、单位、专业评正高级职称对学术成果要求存在差异性,在评正高级职称之前,务必了解单位评审文件要求,按要求准备所需材料和学术成果。下面一起看看评正高级职称,发表SCI论文还是著作,哪个更容易?评审文件告诉你! 一、评审文件中的普遍要求 1. SCI论文的权
  • 接受硕士独作可发的核心期刊 审稿速度快!

    2025-08-15
    想要硕士独坐发表论文的注意了,为了能够快速的帮助大家选择到合适的核心期刊,今天在这里为大家介绍部分专业领域硕士都做的学术期刊,不仅审稿快,而且录用率高。下面一起看看接受硕士独作可发的核心期刊 1、《理论导刊》AMI核心 主要栏目:设政治与社会、马克思主义
  • 2025年贵州省工程系列质量技术类专业评正高级职称(论文、专利和著作)成果

    2025-08-15
    申报正高级职称人员,需按相关规定,提交本人独立或作为第一作者、第一责任者完成的标志性业绩或学术成果作为本人代表作进行盲评,提交的代表作应不含单位、个人等信息,代表作为论文的请提供doc格式文件。以下是为大家介绍的 2025年贵州省工程系列质量技术类专业评正高级
  • 录用比例90%,审稿周期2.5个月《ADVANCED MATERIALS》中科院1区TOP

    2025-08-14
    作为一名研究人员,看到这样高水平,含金量高,发文量高,录用比例高的sci期刊,谁不心动。特别是大类学科:材料科学;小类学科:化学综合。那么,这本期刊就是《 ADVANCED MATERIALS 》,详情如下: 1、期刊基本信息 期刊ISSN:0935-9648 E-ISSN:1521-4095 2024-2025
  • 中国临床研究成果发表国际肝病领域顶级期刊《Hepatology》

    2025-08-12
    2025 年 8 月 11 日, 国际肝病顶级期刊《 Hepatology 》 发表了中国微芯生物自主研发的 2 型糖尿病药物西格列他钠单药治疗代谢相关脂肪性肝炎(MASH)的 Ⅱ 期临床研究成果。 (Metabolic Dysfunction-AssociatedSteatohepatitis,MASH)是一种以肝脏脂肪过度积累和炎
  • 注意!《日本侵华南京大屠杀研究》入选CSSCI来源期刊

    2025-08-12
    近日,根据《中文社会科学引文索引来源期刊(集刊)遴选办法》,南京大学中国社会科学研究评价中心评定, 《日本侵华南京大屠杀研究》入选CSSCI(2025-2026)来源期刊。 这是杂志继入选中文社会科学引文索引(CSSCI) 扩展版来源期刊中国人文社会科学期刊AMI综合评价新刊
  • 最新!演员张译获国家一级演员职称,享受正高级职称待遇

    2025-08-06
    2025年7月29日, 北京市高级专业技术资格评审委员会 发布公示,张译(公示名张毅)通过 一级演员(正高级职称) 专业技术资格评审。据了解,一级演员是中国对为繁荣国家文艺事业作出突出贡献的演员给予的领域最高职称。 公示显示,北京市艺术系列(高层次、急需紧缺、
  • 2025年中国在国际顶刊发文数量最新排名:北大第一/复旦第三

    2025-07-29
    2025我国在国际顶刊发文数量最新排名,北大第一,复旦第三 北京大学稳居第一 2025年1-6月份北大的论文在《 Nature 》上发表14篇、《Science》上发表8篇、《Cell》上发表6篇,在CNS三大国际顶刊上发文数量总计28篇,远远超越第二名14篇,可谓是遥遥领先,稳居榜首。 清
  • 川北医学院:本科生履历“逆天”顶刊发了7篇SCI

    2025-07-18
    7月17日,川北医学院通报调查结果,这名本科生在奖项申请答辩的PPT里,成果表述不严谨引发质疑。 本科生履历逆天 网友直呼罗博士 网传的答辩PPT里,川北医学院口腔医学院2022级学生罗子甯的成绩单让人眼花缭乱:兼任多个顶级期刊审稿人,以第一作者或通讯作者身份,在
回到顶部