- 1
- 0
- 约6.05千字
- 约 7页
- 2017-12-21 发布于贵州
- 举报
模板解析类模板解析类
模板解析类
模板解析类
模板解析类可以对你视图⽂件中的伪变量进⾏简单的替换,它可以解析简单的变量和
变量标签对。
如 你从没使⽤过模板引擎,下⾯是个例⼦,伪变量名称使⽤⼤括号括起来:
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)