<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

          如何使用Smarty?
          使用Smarty與使用其它任何類庫一樣。對(duì)于初學(xué)者,只需要在執(zhí)行腳本中使Smarty類庫可用。實(shí)現(xiàn)這一點(diǎn)非常容易,使用  require()  語句即可:
          require("Smarty.class.php");
    之后,就可以實(shí)例化Smarty類:
          $smarty = new Smarty;
    現(xiàn)在,就可以用Smarty來做東西了。下面看看一個(gè)小例子:
    以下是模板文件 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文件是頁面文件,沒有業(yè)務(wù)邏輯代碼,只有{$name},{$title},初學(xué)者可能覺得怪,不過如果有Java基礎(chǔ)的話,應(yīng)該看得出,它跟Jsp的EL表達(dá)式有點(diǎn)類似,或者跟標(biāo)簽庫功能有點(diǎn)像。這樣看上去,頁面跟程序邏輯就分開來了,設(shè)計(jì)師專注于他的頁面設(shè)計(jì),需要放入處理后的值的話,就加上個(gè){$name}等標(biāo)記,而程序員則專注于程序邏輯的實(shí)現(xiàn),將處理結(jié)果放到模板頁面那里相應(yīng)的變量位置。明眼人可能很快看得出,上面PHP代碼里,$smarty->assign("name","JiangZone");就是一個(gè)對(duì)模板賦值的過程,意為為模板中的變量$name 的值設(shè)為字符串“JiangZone”,下面的也是一樣,而最后那句,$smarty->display("index.tpl");則是將上面設(shè)置好的值應(yīng)用到index.tpl模板上,并將應(yīng)用后的結(jié)果輸出到客戶端。
    posted on 2008-07-29 13:46 姜大叔 閱讀(521) 評(píng)論(0)  編輯  收藏 所屬分類: PHP
    主站蜘蛛池模板: 日韩大片免费观看视频播放| 中文字幕精品三区无码亚洲| 夜夜爽妓女8888视频免费观看| 最新仑乱免费视频| 亚洲综合小说另类图片动图 | 一个人免费观看www视频| 国产免费观看a大片的网站| 亚洲AV无码男人的天堂| 日本人的色道www免费一区| 老牛精品亚洲成av人片| 免费a级毛片永久免费| 一级毛片一级毛片免费毛片| 亚洲精品动漫人成3d在线| 国产高潮流白浆喷水免费A片 | 亚洲精品无码99在线观看| 精品国产福利尤物免费| 亚洲va在线va天堂va不卡下载| 91av视频免费在线观看| 亚洲人成免费电影| 国产大片91精品免费观看男同| 春意影院午夜爽爽爽免费| 亚洲AV无码精品无码麻豆| 天天影视色香欲综合免费| 亚洲精品无码久久| 久久久久国产成人精品亚洲午夜 | 久久久久亚洲国产AV麻豆 | 亚洲AV人无码综合在线观看| 1a级毛片免费观看| 亚洲男同gay片| 久久久久国产成人精品亚洲午夜| 国产精品免费看久久久 | 国产黄片不卡免费| 亚洲网站视频在线观看| 妞干网免费视频观看| 男女交性无遮挡免费视频| 亚洲精品福利视频| 精品剧情v国产在免费线观看| a级片免费观看视频| 97se亚洲国产综合自在线| 国产亚洲精aa成人网站| 国产v精品成人免费视频400条|