发一个自己写的phplib简明教程
PHPLIB模板技术简明教程
(*第一次写这东西,不知道有没有错的地方,请高手指教)
使用PHP编写嵌入式的程序时间一长,会发现这样的程序对于改变风格来说很难.如果美工和程序不是同一个人做的话,初期就会遇到很多困难.这时你就需要使用PHP的模板技术,现有的模板技术很多,但对于新手来说不妨从PHPLIB着手.PHPLIB的好处就在于简单,易用,有一些PHP基础的人很快可以上手.下面就对PHPLIB模板的用法做一下简要介绍.
一.相关资源
1.phplib-7.4.tar.gz下载地址:http://prdownloads.sourceforge.net/phplib/phplib-7.4.tar.gz?download
2.phplib 中文交流社区 :http://bbs.phpres.com/forum-52-1.html
二.基本用法
以下为index1.php文件:
<?php
//包含模板类
require_once("./inc/template.inc");
//生成一个实例对象
$t = new Template("./templates/");
/*
其中第二个参数为"keep","comment", "remove" (默认)三者之一.决定了在输出环节上如何处理模板中未完成处理的变量名称.如果设为"keep",这些变量名称将原封不动的保留下来.如果设为"comment",那么会在报错的同时,将未完成处理的变量名称全部转换成HTML的注释.如果设为"remove",未完成处理的变量名称便会被悄然删除(这也是默认的情况).
*/
//定义模板文件
$t->set_file("main","index1.dwt");
/*
第一个参数为定义的名称,第二个参数为预解析的模板文件,后缀可以为dwt,htm,html,tpl等,主要还是跟据个人喜好.
*/
//定义变量
$t->set_var("var_name","Hello World!");
/*
第一个参数为定义变量的名称,第二个参数为变量的值.在模板文件中使用时,只要输入{var_name},即会输出Hello World!个人比较喜欢先给一个变量赋值,然后再使用set_var方法,如下如示:
*/
$var = "Hello World!";
$t->set_var("var_name2",$var);
//解析模板文件
$t->parse("out","main");
/*
此方法共有三个参数,目前我们先只用前两个.第一个参数为一会要输出的名称,第二个参数为之前定义模板文件时的名称.
*/
//输出
$t->p("out");
/*
把刚刚解析的out输出,至此,整个PHP文件就结束了,我们下面开始编辑模板文件.
*/
?>
以下为index1.dwt文件:
<html>
<head>
<title>阿涛的PHPLIB教程</title>
</head>
<body>
{var_name}
<br>
{var_name2}
</body>
</html>
这时运行index1.php就会显示如下结果:
QUOTE:
Hello World!
Hello World!
三.模块(block)的用法
以下为index2.php文件:
<?php
//包含模板类
require_once("./inc/template.inc");
//生成一个实例对象
$t = new Template("./templates/");
//定义模板文件
$t->set_file("main","index2.dwt");
//定义模块
$t->set_block("main","show_block","block");
/*
第一个参数为定义模板文件时定义的名称,第二个参数是将要显示在模板文件中的,第三个参数可以随便定以,以备后用.
*/
for($i=0;$i<10;$i++){
$t->set_var("show_var",$i);
$t->parse("block","show_block",true);
/*
parse的第一个参数为刚刚在set_block时随便定义的,第二参数是将要显示在模板文件中的,第三个参数true为追加的意思,一定不能少.
*/
}
//解析模板文件
$t->parse("out","main");
//输出
$t->p("out");
?>
以下为index2.dwt文件:
<html>
<head>
<title>阿涛的PHPLIB教程</title>
</head>
<body>
<!-- BEGIN show_block -->
{show_var}
<!-- END show_block -->
</body>
</html>
这时运行index2.php就会显示如下结果:
0123456789
*注意模板文件中<!-- BEGIN show_block -->中的空格和大写,即<!--之后和-->之前一定要有一个空格,BEGIN和END一定要大写.
四.模板嵌套
以下为index3.php文件:
<?php
//包含模板类
require_once("./inc/template.inc");
//生成一个实例对象
$t = new Template("./templates/");
//定义主模板文件
$t->set_file("main","index3.dwt");
//定义嵌套的模板文件
$t->set_file("index4","index4.dwt");
//定义模块
$t->set_block("main","show_block","block");
for($i=0;$i<10;$i++){
$t->set_var("show_var",$i);
$t->parse("block","show_block",true);
}
//解析模板文件
$t->parse("copyright","index4");
$t->parse("out","main");
//输出
$t->p("out");
?>
以下为index3.dwt文件:
<html>
<head>
<title>阿涛的PHPLIB教程</title>
</head>
<body>
<!-- BEGIN show_block -->
{show_var}
<!-- END show_block -->
{copyright}
</body>
</html>
以下为index4.dwt文件:
版权所有(C)阿涛淘网 Atao.Cn
这时运行index3.php就会显示如下结果:
0123456789
版权所有(C)阿涛淘网 Atao.Cn