隨筆-31  評論-257  文章-0  trackbacks-0
                其實本人也正在學PHP,所以就把學習PHP時的心得體會與所學到的知識分享一下吧,所以這一系列教程(或者是心得吧),將圍繞在初學PHP過程中遇到的問題和需要注意的地方。
                這是關于PHP中Smarty模板技術的第一編,為什么要說模板技術呢?原因很簡單,如果你想做一個合格的PHP程序員的話,如果你想開發一個結構合理、移植方便的系統的話,那就要留意一下PHP的模板技術,而在PHP的模板技術中,Smarty是一個不錯的選擇。
                使用模板化主要有兩個原因:1、可以使用同樣的代碼基為不同的目標生成數據。2、應用程序設計人員(負責創建和維護界面的人)可以與應用程序開發人員獨立工作,因為用表現和邏輯并非密不可分地糾纏在一起。但模板化引擎如何完成這種分離?有趣的是,大多數實現的做法與編程語言非常相似,為完成各種與界面有關的任務提供了良好的定義的語法和命令集。
                Smarty提供了很多強大的功能。
                1、強大的表現邏輯
                2、模板編譯
                3、緩存
                4、高度可配置和可擴展
                5、安全

                如何使用Smarty?
                使用Smarty與使用其它任何類庫一樣。對于初學者,只需要在執行腳本中使Smarty類庫可用。實現這一點非常容易,使用  require()  語句即可:
                require("Smarty.class.php");
          之后,就可以實例化Smarty類:
                $smarty = new Smarty;
          現在,就可以用Smarty來做東西了。下面看看一個小例子:
          以下是模板文件 index.tpl :
           1 <html>
           2     <head>
           3         <title>{$title}</title>
           4     </head>
           5     <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
           6         <p>
           7         Hi,{$name}.Welcome to the wonderful world of Smarty.
           8         </p>
           9     </body>
          10 </html>

          以下是PHP頁面方面代碼  index.php:
          <?php
              
          require('Smarty.class.php');
              
          $smarty = new Smarty;
              
          $smarty->assign("name","JiangZone");
              
          $smarty->assign("title","Jiang's Blog");
             
              
          $smarty->display("index.tpl");
          ?>


          從以上兩段代碼可以看得到,index.tpl文件是頁面文件,沒有業務邏輯代碼,只有{$name},{$title},初學者可能覺得怪,不過如果有Java基礎的話,應該看得出,它跟Jsp的EL表達式有點類似,或者跟標簽庫功能有點像。這樣看上去,頁面跟程序邏輯就分開來了,設計師專注于他的頁面設計,需要放入處理后的值的話,就加上個{$name}等標記,而程序員則專注于程序邏輯的實現,將處理結果放到模板頁面那里相應的變量位置。明眼人可能很快看得出,上面PHP代碼里,$smarty->assign("name","JiangZone");就是一個對模板賦值的過程,意為為模板中的變量$name 的值設為字符串“JiangZone”,下面的也是一樣,而最后那句,$smarty->display("index.tpl");則是將上面設置好的值應用到index.tpl模板上,并將應用后的結果輸出到客戶端。
          posted on 2008-07-29 13:46 姜大叔 閱讀(522) 評論(0)  編輯  收藏 所屬分類: PHP
          主站蜘蛛池模板: 全椒县| 射洪县| 三原县| 昆明市| 龙口市| 雅江县| 江孜县| 平塘县| 和林格尔县| 和硕县| 共和县| 陆丰市| 潮州市| 固阳县| 武川县| 南部县| 西乌珠穆沁旗| 周口市| 盐城市| 元江| 高安市| 滦平县| 保靖县| 吉林省| 罗山县| 丁青县| 原平市| 美姑县| 大兴区| 东港市| 平顶山市| 晋州市| 永丰县| 南溪县| 应城市| 遂昌县| 新安县| 哈尔滨市| 台安县| 清河县| 南和县|