资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

phplib里带的模板功能的确非常好用,但有个致命的小错误需要更正!_编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • 我自己借用精华区里的MIME类写了一个基本的发信小东东(2) 
  • 一个基于mysql的登陆验证程序(一) 
  • 一个用session实现微型购物篮的例子 
  • 我再来转载一篇"用EMAIL附件传送一个文件(用mail)" 
  • 用PHP3作树型目录(3) 
  • 数字转换为中文的类。(今晚的无聊之作) 
  • 如何恢复MYSQL的ROOT口令 
  • 支持PHP+MySQL的免费空间(吐血推荐) 
  • 一个基于mysql的登陆验证程序(三) 
  • 转贴:开发大型PHP项目的方法(三) 
  • 页面导航:

    正文内容:
     phplib里带的template.inc包含了一个模板类,用它可以实现程序代码和
    界面的分离,给程序设计和界面设计带来了极大的方便,而且它的实现比快速
    模板要好。但有一个致命的小错误导致set_block()函数不能正常使用,而这个
    函数是非常重要的,它在处理重复块时显得非常的好用。
     下面通过一个最简单的例子来讲解用法及解决方法:
    模板文件:page1.ihtml(名字你可以随便取,后缀ihtml是一种习惯用法)
    <html>
    <head>
    <title> {title} </title>
    </head>
    <body bgcolor="#ffffff">
    <!-- begin tbk -->
    id: {id}<br>
    name: {name}<br>
    <hr>
    <!-- end tbk -->
    </body>
    </html>
    处理文件:test.php
    <?php
     include("./template.inc");
     # 创建模板变量$t 
     $t = new template(".", "keep");
     # 定义页面变量的引用,这样你就可以用page1来引用页面了
     $t->set_file("page1","page1.ihtml");
     # 提取名称为tbk的块,让它指向tbks的引用
     $t->set_block("page1", "tbk", "tbks");
     # 替换标题title变量
     $t->set_var("title","my test of template");
     # 定义id和name,然后把tbk附加到tbks
     for ($i=1; $i<=3; $i++) {
     $n = $i;
     $nn = $i*10;
     $t->set_var(array("id" => $n, "name" => $nn));
     $t->parse("tbks", "tbk", true);
     }
     # 最后输出页面
     $t->pparse("out", "page1");
    ?>
     但是这个例子是不能运行的,网友openball曾给出一种解决方案,把
    $t->set_block("page1", "tbk", "tbks");改为$t->set_block("page1", "tbk", "{tbks}");注意最后的“{}”符号,这样的确可以用了,
    但有更好的解决方案,打开template.inc文件,找到set_block()函数里的
    这句话:$str = preg_replace($reg, "{$name}", $str);呵呵,看到没,
    phplib已经做了处理了,但忘了(我猜的:)转义“{”,因此把这句话改
    为:$str = preg_replace($reg, "\{$name}", $str);就可以了。这样,
    phplib自带的例子也可以用了,而且这种方法似乎更规范些,不知各位的
    已经如何,具体的还可以参照我在实际中用的模板和程序,欢迎交流经验
     模板:http://myjingpin.com/tpl/v1/show.html
     程序:http://myjingpin.com/app/v1/show.php?mid=flash

     

     
    热门推荐笔记本: IBM笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved