• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    phplib里帶的模板功能有個致命的小錯誤

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網     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://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>