发新话题
打印

发一个自己写的phplib简明教程

发一个自己写的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
努力为phpres做贡献
时刻准备着,当机会来临时你就成功了
打好基础,增加社会经验
资深技术工程师是我的梦想
承接各种团体网站外包服务和各种it技术培训
准备申请AJAX版大,希望大家支持~~

TOP

急救

请问要传数组或是在模板里循环怎样做???

TOP

法资公司急聘PHP高级程序员

法国Bysoft 公司成立于1991年,至今已有16年的历史。我们于2003年在中国广州建立第一家代表处。Bysoft是一家全球性的技术服务公司,主要提供转包业务以及多种的综合服务。

公司网址:www.bysoft.fr  中文网址http://www.shopmaker.cn

职位名称:PHP 高级程序员—国际方向

工作地点:广州

职责范围:
- 网站和程序设计和开发
- 为程序开发准备文档
- 提供应用系统支持
- 履行与IT有关的项目

要求:
- 本科毕业, 主修计算机科学、信息技术或与信息技术相关的学科
- 2年以上使用HTML,PHP,JAVA进行网站开发的经验
- 有SQL数据库的实际经验,并有很强的SQL的技术能力
- 有使用Dreamweaver 或Photoshop的经验更佳
- 有使用JAVA和J2EE的经验更好
- CET6以上,能进行流利的听、读、写
- 良好的团队合作精神和沟通能力
- 良好的学习能力,分析能力,和活跃的思维能力,并愿意接受新挑战
- 能承受工作压力
- 准备在一个国际公司工作
请将你的中英个人简历,包括现在薪资及期望工资,E-mail 到:hr@bysoft.fr, 我们将对一切资料保密。

资料如在6个星期内不获接纳,视作申请未成功。

TOP

同问,如何把查询出来的数据在模板中循环显示出来?谢谢!

TOP

支持一下吧
爱上PHP,便拥有了更多的动力!

TOP

爱上PHP,便拥有了更多的动力!

TOP

发新话题