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.

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

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



月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!
  • 985和211副教授评职称认可的刊物推荐

    2024-11-28
    985和211院校的副教授评职称,对于个人学术声誉和职业发展是非常重要的,一般副教授发表期刊论文认可的刊物具有较高的学术水平和影响力。以下是对 985和211副教授评职称认可的刊物推荐 ,供大家参考: 1、SCI期刊 SCI期刊,即科学引文索引期刊,是国际学术界公认的权威
  • Sustainability期刊版面费多少

    2024-11-28
    《Sustainability》是一本由MDPI出版社出版的国际性、跨学科的开放获取学术期刊,专注于环境、文化、经济和社会可持续性的研究。那么, Sustainability期刊版面费多少 ? 从1900瑞士法郎上涨至2400瑞士法郎(约19266元人民币),适用于同行评审后接受的论文,该费用于
  • EI期刊论文查重的要求是什么

    2024-11-28
    能够在EI期刊论文发表论文,除了要有高质量的研究成果外,还要通过严格的查重审核。那么, EI期刊论文查重的要求是什么 ?详情如下: EI期刊作为国际学术期刊,对论文的原创性要求较高。查重作为确保论文原创性的手段,可有效避免学术不端行为发生,维护学术界的公平和
  • 评职称,国内高校认可scopus期刊吗?scopus期刊列表

    2024-11-28
    评职称,国内高校认可scopus期刊吗 ? 不同国内高校对scopus期刊评职称认可度可能存在一定的差异性。一些高校和科研机构确实认可scopus收录的期刊,尤其是研究生、博士生和教师晋升职称等方面,但也有一些高校是不认可的,因此在选择发表scopus期刊之前,一定要了解清
  • 解答SCI论文被语言拒稿的技巧

    2024-11-28
    对于国内作者来说,其中一大原因是语言表达,如sci论文出现大量的语法错误、中式英语表达,造成编辑或审稿人对文章内容的理解偏差,导致sci论文被拒稿。以下是 解答SCI论文被语言拒绝的技巧 ,希望能够帮助到你快速发表sci论文。 1、对sci论文专业润色和翻译 为了确保S
  • 中科院院士:94%中国科研SCI论文发表国外期刊,仅5.88%在国内期刊发表

    2024-11-18
    在2024上海科技与期刊高质量发展大会上,中国科学院院士、上海市科协主席张杰指出:2023年,我国科研人员共发表SCI(科学引文索引)论文73.96万篇,其中只有4.35万篇发表在国内期刊,占比5.88%,其余94.12%的论文都发表在国外期刊上。。 开幕式上,上海市科技期刊学会
  • 励志!安徽“扭扭车少年”在《Applied Intelligence》期刊上发表论文

    2024-11-15
    2024年11月, 张亮在国际人工智能领域高水平期刊《Applied Intelligence》(应用智能)上发表题为《Robot Motion Planning Algorithm Based on Deep Learning Optimization》(基于深度学习优化机器人运动规划的算法研究)的论文。 11月19日,张亮创办的公司首款外骨骼
  • 恭喜!《中国财政》入选长安街读书会学习核心来源期刊

    2024-11-14
    《中国财政》确实被正式选为长安街读书会干部学习的核心来源期刊之一。在2024年10月8日发布的《长安街读书会干部学习核心期刊目录》中,《中国财政》被列为核心期刊之一,其关注点在于中华民族现代文明。因此,可以确认《中国财政》正式入选长安街读书会干部学习核心来
  • 恭喜!上海科技期刊三本齐发,影响因子登顶学科王座

    2024-11-13
    据SCI数据库,2023年世界科技论文总数达248万篇,其中收录中国科技论文74万篇,数量居全球之首,占比30%;排名第二的美国,收录论文53万篇,占比21%。 目前,上海共有科技期刊358本,其中英文期刊82本,占比约20%,是全国平均的两倍;SCI期刊54本,其中Q1区期刊35本。
  • 西安交大:主办期刊《药物分析学报(英文)》入选百强榜单,总排名第七

    2024-11-12
    《2024中国英文科技期刊海外媒体传播影响力报告》的发布,彰显了中国科技期刊在国际舞台上的影响力。西安交通大学主办的《药物分析学报(英文)》(Journal of Pharmaceutical Analysis, JPA)在该报告中取得了显著成就,不仅成功进入百强榜单,而且取得了总排名第七的
回到顶部