<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      phplib里帶的模板技巧的確10分好用,但有個致命的小出錯需要更正!

      [摘要]phplib里帶的template.inc包含了一個模板類,用它可以實現程序代碼和界面的分離,給程序設計和界面設計帶來了極大的方便,而且它的實現比快速模板要好。但有一個致命的小錯誤導致set_blo...
      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


      日韩精品一区二区三区高清