- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模板解析类模板解析类
模板解析类
模板解析类
模板解析类可以对你视图⽂件中的伪变量进⾏简单的替换,它可以解析简单的变量和
变量标签对。
如 你从没使⽤过模板引擎,下⾯是个例⼦,伪变量名称使⽤⼤括号括起来:
html
head
title{blog_title}/title
/head
body
h3{blog_heading}/h3
{blog_entries}
h5{title}/h5
p{body}/p
{/blog_entries}
/body
/html
这些变量并不是真正的 PHP 变量,只是普通的⽂本,这样能让你的模板 (视图⽂件)
中没有任何 PHP 代码。
注解
CodeIgniter 并没有 让你必须使⽤这个类,因为直接在视图中使⽤纯 PHP 可能速度会
更快点。 尽管如此,⼀些开发者还是喜欢使⽤模板引擎,他们可能是和⼀些其他的不
熟悉 PHP 的设计师共同⼯作。
重要
模板解析类 不是 ⼀个全⾯的模板解析⽅案,我们让它保持简洁,为了达到更⾼的性
能。
使⽤模板解析类
初始化类
解析模板
变量对
使⽤说明
视图⽚段
类参考
使⽤模板解析类
初始化类
跟 CodeIgniter 中的其他类⼀样,可以在你的控制器中使⽤ $this-load-library() ⽅法
加载模板解析类:
$this-load-library(parser);
⼀旦加载,模板解析类就可以像下⾯这样使⽤:
$this-parser
解析模板
你可以使⽤ parse() ⽅法来解析 (或显⽰)简单的模板,如下所⽰:
$data array(
blog_title My Blog Title,
blog_heading My Blog Heading
);
$this-parser-parse(blog_template, $data);
第⼀个参数为 视图⽂件 的名称 (在这个例⼦⾥,⽂件名为 blog_template .php ), 第
⼆个参数为⼀个关联数组,它包含了要对模板进⾏替换的数据。上例中,模板将包含
两个变量: {blog_title} 和 {blog_heading} 。
没有必要对 $this-parser-parse() ⽅法返回的结 进⾏ e ho 或其他的处理,它会⾃动
的保存到输出类, 以待发送给浏览器。但是,如 你希望它将数据返回⽽不是存到输
出类⾥去,你可以将第三个参数设置为 TRUE
$string $this-parser-parse(blog_template, $data, TRUE);
变量对
上⾯的例⼦可以允许替换简单的变量,但是如 你想重复某⼀块代码,并且每次重复
的值都不同又该怎么办呢? 看下我们⼀开始的时候展⽰那个模板例⼦:
html
head
title{blog_title}/title
/head
body
h3{blog_heading}/h3
{blog_entries}
h5{title}/h5
p{body}/p
{/blog_entries}
/body
/html
在上⾯的代码中,你会发现⼀对变量:{blog_entries} data... {/blog_entries} 。这个例⼦
的意思是, 这个变量对之间的整个数据块将重复多次,重复的次数取决于
blog_entries 参数中元素的个数。
解析变量对和上⾯的解析单个变量的代码完全⼀样,除了⼀点,你需要根据变量对的
数据使⽤⼀个多维的数组, 像下⾯这样:
$this-load-library(parser);
$data array(
blog_title My Blog Title,
blog_heading My Blog Heading,
blog_entries array(
array(title Title 1, body Body 1),
array(title Title 2,
文档评论(0)