應用PHP標籤模板實現什麼任務_PHP教程

來源:互聯網
上載者:User
我們在對

1、模板的由來

在沒有模板技術之前,使用PHP開發程式,通常都是php代碼和html混編在一起。比如說新聞列表,很可能就是一個newslist.php頁面,結構如下:

  1. < ?
  2. //從資料庫中讀取出要顯示的新聞記錄
  3. ?>
  4. < html>
  5. < head>……..
  6. < /head>
  7. < body>
  8. < ?
  9. While ($news = mysql
    _fetch_array($result)) {
  10. ?>
  11. < !--輸出新聞標題 -- >
  12. < ?
  13. }
  14. ?>
  15. < /body>
  16. < /html>

那麼這樣有什麼問題呢?首先,不利於分工合作。一般來說,都會由程式員來寫代碼,美工人員設計頁面。那麼在這種方式中,程式員必須等待美工人員把介面設計 好才能開始工作。也就是說程式員和美工的工作是不能同步的。其次、不利於維護,可維護性差。比如說程式固定後,要修改介面,那麼必須由美工修改後,程式員 再重新添加。最後,程式結構混亂,可讀性差。HTML和PHP混編在一起,一旦程式一多,就會變的非常的淩亂。

理解模板原理——使用PHP標籤模板

模板技術正是為瞭解決這些問題而出現的,為瞭解決這些問題,最早出現的是使用PHP標籤模板。
首先,我們要明白模板的目的是什麼。模板主要要實現幾個任務呢?

第一、美工和程式的分離。更確切的說法是擷取資料和顯示資料的分離。

第二、分工。良好的分工合作。

比如說新聞列表,如果使用PHP標籤模板,我們就可以把新聞列表的操作分成兩部分:

1、 getnews.php 負責從資料庫中讀取資料到數組$news中,不關心$news是如何顯示的。
2、 Shownews.php 負責把$news數組輸出成HTML頁面。而它不需要理會$news是從哪裡來的。

好,這樣,我們就實現了美工和程式的分離,達到了我們的初步目的,但是如何把這兩個頁面聯合起來,並實現listnews.php的功能呢?

這就需要另外一個頁面listnews.php,來負責把“美工(顯示資料)”和“程式員(擷取資料)”串連起來。應該說這個頁面就是很簡單了。

假設getnews.php的代碼如下:

 
  1. < ?
  2. $news =“新聞列表”;
  3. //實際中應該是從資料庫中讀取出來的。
  4. ?>
  5. Shownesw.php的代碼如下:
  6. < html>
  7. < head>
  8. < title>顯示新聞< /title>
  9. < /head>
  10. < body>
  11. < ?=$news?>
  12. < /body>
  13. < /html>

那麼,這個聯合頁面listnews.php的代碼就很簡單了

 
  1. < ?
  2. Include(‘getnews.php');
  3. //擷取資料
  4. Include(‘shownesw.php');
  5. //顯示資料
  6. ?>

總結

使用PHP標籤模板系統,能夠很好的實現美工和程式的分離,同時方便程式員和美工人員的分工合作,比如在上面的例子中shownews.php由美工人 員來維護,getnews.php由程式人員來維護。而listnews.php就可以由系統設計人員來維護了。當然這中間需要增加一些約定的文檔。

事實上,這個簡單的例子也說明了最基本的MVC模型。其中M,模型,也就是負責讀取資料,相當於我們的getnews.php。V,就是試圖,用來顯示資料,也就對應了shownews.php。最後是控制器C,對應我們的listnews.php


http://www.bkjia.com/PHPjc/446060.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446060.htmlTechArticle我們在對 1、模板的由來 在沒有模板技術之前,使用PHP開發程式,通常都是php代碼和html混編在一起。比如說新聞列表,很可能就是一個ne...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.