- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP-关于模板的原理和解析
将PHP代码和静态HTML代码进行分离,使代码的可读性和维护性得到显著提高。
使用模板引擎:
? ? 我们所说的模板是Web模板,是主要由HTML标记组成的语言来编写的页面,但也有如何表示包含动态生成内容的方式(解析标签)。模板引擎是一种软件库,允许我们从模板生成HTML代码,并指定要包含的动态内容。
模板引擎的特点:
1.鼓励分离:让更个系统的可读性和维护性得到提高。 2.促进分工:使得程序员和美工去专心处理自己的设计。 3.比PHP更容易解析:编译文件和缓存文件加载更快、占资源更少。 4.增加安全性:可限制模板设计师进行不安全的操作的能力避免误删误访问等。
模板处理的流程图
?
创建模板:
1、创建初始模板所需要的文件夹和文件。
a) index.php主文件,用于编写业务逻辑。 b) template.inc.php模板初始化文件,用于初始模版信息。 c) templates目录存放所有的模板文件。 d) templates_c目录存放所有编译文件。 e) cache目录存放所有缓存文件。 f) includes目录存放所有的类文件。 g) config目录存放模板系统变量配置文件。
以下是源码:
主文件 index.php
php
//index.php
//设置编码为UTF-8 header(Content-Type:text/html;Charset=utf-8); //网站根目录 define(ROOT_PATH, dirname(__FILE__)); //存放模板文件夹 define(TPL_DIR, ROOT_PATH./templates/); //编译文件夹 define(TPL_C_DIR, ROOT_PATH./templates_c/); //缓存文件夹 define(CACHE_DIR, ROOT_PATH./cache/); //定义缓存状态 define(IS_CACHE,true); //设置缓存状态开关 IS_CACHE ? ob_start() : null; include ROOT_PATH./includes/Templates.class.php;
$_name = 方块李;
$array = array(1,2,3,4,5,6);
$_tpl = new Templates();
$_tpl-assign(name, $_name);
$_tpl-assign(a, 54);
$_tpl-assign(array, $array);
//显示
$_tpl-display(index.tpl);
?
模板文件 HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 DOCTYPE?html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd
html?xmlns=/1999/xhtml
head
meta?http-equiv=Content-Type content=text/html; charset=UTF-8 /
titletitle
?
head
body
{include test.php}
{#}这是一条PHP的注释,在HTML页面里是不显示的,只会在生成的编译文件里显示{#}
我将被index.php导入
{$name}这个标签必须经过Parser.class.php这个解析类来解析它1
br?/
这里的内容改变了,为什么?
br?/
{if $a}
显示一号皮肤
{else}
显示二号皮肤
{/if}
br?/
{foreach $array(y,value)}
{@key}....{@value} br?/
{/foreach}
body
html
模板类:
+ View Code
解析类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
您可能关注的文档
- pd催化偶联.pptx
- PDGY24说明书.doc
- part1-unit11.ppt
- PDC 钻头磨损分类.ppt
- OT6 elijah to babylon.ppt
- PETS-3级口语考试说明.ppt
- pdf拼版制作教程六.doc
- pep三上Unit4-We-Love-Animals复习PPT课件.ppt
- Pdf2Pdf图纸合并拆分及批量签名工具使用说明书.doc
- Ph.D.是一份工作,请不卑不亢地申请——我的心路历程(世毕盟学员).docx
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)