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

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

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

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

    IntegratedTemplate類實現HTML和PHP代碼分離

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

    領測軟件測試網


    使用PHP編程的人都會碰到這樣一個問題:當PHP代碼和HTML代碼在一起的時候,看PHP代碼很費勁,整個文件也無法用Dreamweaver來編輯,這對于PHP程序員和美工來講,修改這樣的文件就象一個噩夢。
    PHP中的模板(Template)技術就是為了解決這個問題而出現的。PHP模板類有很多,比較常見的是 FastTemplate 和 PHPLib, 因為出現得早,在PHP編程界名聲很大。PHP程序員不知道這兩個類,就象VB程序員不知道MsgBox函數一樣,是一件不可思議的事情。
    以前我們需要去下載PHP模板類,現在PHP4有了自己的模板類 IntegratedTemplate 和 IntegratedTemplateExtension,功能和PHPLib 差不多。這兩個類是子類和父類的關系。一般我們用 IntegratedTemplateExtension 就可以了。讓人感到不可思議的是 IntegratedTemplate 不是從 PEAR 類繼承過來,無法用到 PEAR 類的 debug 功能。
    以下舉例子說明它們的用法,假設 IntegratedTemplate 類和 IntegratedTemplateExtension 類分別在 C:\php4\pear\HTML\ITX.php 和 C:\php4\pear\HTML\ITX.php 中。我們寫的代碼放在C:\TestPHP\PHP4\Welcome.htm 和 C:\TestPHP\HTML\Welcome.php 中。將C:\TestPHP\PHP4 在Web Server 上設成虛擬目錄 /testphp 并且給與腳本執行權限,確認C:\TestPHP\HTML\Welcome.htm 無法通過遠端瀏覽器訪問。在 php.ini 里面設置 include_path = ".;C:\php4\pear"
    例1:
    我們在HTML文件中放置變量的標記,用PHP代碼設置變量的值,然后將HTML中的標記替換掉,最后輸出到客戶瀏覽器。
    以下是 Welcome.htm 代碼,我們放了三個PHP tag(變量標記)為: {WelcomeTitle}、{UserName}、{WelcomeMessage}
    <html>
    <head>
    <title>{WelcomeTitle}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style type="text/css">
    <!--
    body,p,br,div,td,table { font-size: 9pt}
    -->
    </style>
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <p align="center">您好,{UserName}</p>
    <p align="center">{WelcomeMessage} </p>
    </body>
    </html>

    以下是Welcome.php代碼
    <?php
    require_once "HTML/ITX.php";

    //以下是給變量賦值,在實際代碼中可能從Database中取得數據然后賦值
    $WelcomeTitle = "歡迎來到網頁天堂";
    $UserName = "皮皮魯";
    $WelcomeMessage = "您的到來讓我們深感榮幸!";

    //一般來說這種全局變量放在單獨的一個文件中,便于維護
    $HTML_CODE_FILE_ROOT = "../HTML/";

    $tpl = new IntegratedTemplateExtension($HTML_CODE_FILE_ROOT);

    指定要替換 tag 的 HTML 文件
    $tpl->loadTemplatefile("Welcome.htm");

    替換HTML 文件中的 tag
    $tpl->setVariable( array (
    "WelcomeTitle" => $WelcomeTitle,
    "UserName" =>$UserName,
    "WelcomeMessage" =>$WelcomeMessage
    ) );

    輸出替換后的 HTML
    $tpl->show();
    ?>

    這樣寫好后,Welcome.htm 仍然可以使用網頁編輯器如Dreamweaver、FrontPage 進行編輯,Welcome.php中是純粹的PHP代碼,不含HTML,方便以后的代碼修改和維護。
    如果將 IntegratedTemplateExtension 類和 PHP4中的 Cache 類 聯合使用,在速度上可以得到很好的效果。
    PHP4 模板類還可以使用 Block,配合其他 PHP4 中的類 可以很輕松地實現數據庫數據檢索的翻頁,可以很輕松寫出論壇之類的軟件。

    補充說明:為了防止用戶直接用 Welcome.htm 看網頁,將 Welcome.htm 放在客戶訪問不到的目錄(只要不在Web Server 的虛擬目錄下即可)。對于大型的PHP項目,圖片、PHP代碼、HTML文件、多語言字符串文件都應該放在不同的目錄,這樣在多人共同做一個項目時不至于混亂。

    延伸閱讀

    文章來源于領測軟件測試網 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>