<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ò)程中遇到的問(wèn)題和需要注意的地方。
          這是關(guān)于PHP中Smarty模板技術(shù)的第一編,為什么要說(shuō)模板技術(shù)呢?原因很簡(jiǎn)單,如果你想做一個(gè)合格的PHP程序員的話(huà),如果你想開(kāi)發(fā)一個(gè)結(jié)構(gòu)合理、移植方便的系統(tǒng)的話(huà),那就要留意一下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)用程序開(kāi)發(fā)人員獨(dú)立工作,因?yàn)橛帽憩F(xiàn)和邏輯并非密不可分地糾纏在一起。但模板化引擎如何完成這種分離?有趣的是,大多數(shù)實(shí)現(xiàn)的做法與編程語(yǔ)言非常相似,為完成各種與界面有關(guān)的任務(wù)提供了良好的定義的語(yǔ)法和命令集。
          Smarty提供了很多強(qiáng)大的功能。
          1、強(qiáng)大的表現(xiàn)邏輯
          2、模板編譯
          3、緩存
          4、高度可配置和可擴(kuò)展
          5、安全

          如何使用Smarty?
          使用Smarty與使用其它任何類(lèi)庫(kù)一樣。對(duì)于初學(xué)者,只需要在執(zhí)行腳本中使Smarty類(lèi)庫(kù)可用。實(shí)現(xiàn)這一點(diǎn)非常容易,使用  require()  語(yǔ)句即可:
          require("Smarty.class.php");
    之后,就可以實(shí)例化Smarty類(lèi):
          $smarty = new Smarty;
    現(xiàn)在,就可以用Smarty來(lái)做東西了。下面看看一個(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頁(yè)面方面代碼  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è)面文件,沒(méi)有業(yè)務(wù)邏輯代碼,只有{$name},{$title},初學(xué)者可能覺(jué)得怪,不過(guò)如果有Java基礎(chǔ)的話(huà),應(yīng)該看得出,它跟Jsp的EL表達(dá)式有點(diǎn)類(lèi)似,或者跟標(biāo)簽庫(kù)功能有點(diǎn)像。這樣看上去,頁(yè)面跟程序邏輯就分開(kāi)來(lái)了,設(shè)計(jì)師專(zhuān)注于他的頁(yè)面設(shè)計(jì),需要放入處理后的值的話(huà),就加上個(gè){$name}等標(biāo)記,而程序員則專(zhuān)注于程序邏輯的實(shí)現(xiàn),將處理結(jié)果放到模板頁(yè)面那里相應(yīng)的變量位置。明眼人可能很快看得出,上面PHP代碼里,$smarty->assign("name","JiangZone");就是一個(gè)對(duì)模板賦值的過(guò)程,意為為模板中的變量$name 的值設(shè)為字符串“JiangZone”,下面的也是一樣,而最后那句,$smarty->display("index.tpl");則是將上面設(shè)置好的值應(yīng)用到index.tpl模板上,并將應(yīng)用后的結(jié)果輸出到客戶(hù)端。
    posted on 2008-07-29 13:46 姜大叔 閱讀(525) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): PHP
    主站蜘蛛池模板: 国产一级高清视频免费看| 最好2018中文免费视频| 国产亚洲精品线观看动态图| 日本三级2019在线观看免费| baoyu116.永久免费视频| 国产偷国产偷亚洲高清在线| 亚洲午夜久久久久久尤物| 国产亚洲精品资源在线26u| 亚洲成A人片77777国产| 好大好硬好爽免费视频| 16女性下面扒开无遮挡免费| 免费在线观影网站| 91av免费在线视频| 特级av毛片免费观看| 亚洲欧美日本韩国| 2020国产精品亚洲综合网| 色噜噜综合亚洲av中文无码| 亚洲色中文字幕无码AV| 亚洲男人在线无码视频| 亚洲国产一级在线观看 | 亚洲精品无码99在线观看 | 亚洲av片劲爆在线观看| 亚洲乳大丰满中文字幕| 精品国产亚洲一区二区在线观看| 国产成人无码a区在线观看视频免费| 青青久在线视频免费观看| 91麻豆最新在线人成免费观看| 亚洲精品视频免费看| 4444www免费看| 色播精品免费小视频| 大学生一级毛片免费看| 免费精品人在线二线三线区别 | 亚洲人精品亚洲人成在线| 亚洲国产精品yw在线观看| 亚洲乱码中文字幕小综合| 亚洲人成网站在线观看播放青青| 亚洲男人的天堂在线| 亚洲国产最大av| 亚洲日本天堂在线| 国产青草亚洲香蕉精品久久| 菠萝菠萝蜜在线免费视频|