久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

一文詳細(xì)PHP模板引擎的原理(附代碼示例)

開(kāi)發(fā)一個(gè)web項(xiàng)目,通常分為兩部分,一部分是GUI,即界面、美工,使用HTML,CSS,JS編寫(xiě),另一部分則是業(yè)務(wù)邏輯,即程序、功能,使用PHP編寫(xiě)。而模板引擎則是聯(lián)系這兩部分的“橋梁”,可理解成一個(gè)PHP類,里面定義了許多方法,實(shí)現(xiàn)了將PHP的原始輸出加載上界面樣式后再輸出。

沒(méi)用模板之前的編寫(xiě)的代碼是這樣的:

<?php  $title = “標(biāo)題”;  $content = “內(nèi)容”;  ?>  <html>  <head><title><?php echo $title; ?></title></head>  <body><?php echo $content; ?></body>  </html>

這樣的話美工與邏輯沒(méi)有分離,簡(jiǎn)單的說(shuō)就是PHP程序員不僅要寫(xiě)程序還要精通美工,這往往十分困難,因此需要將這兩部分工作分開(kāi)。

在此通過(guò)自己創(chuàng)建一個(gè)簡(jiǎn)單的模板引擎為例子,更好的體會(huì)模板引擎的原理。

之前說(shuō)了開(kāi)發(fā)一個(gè)web項(xiàng)目分成GUI與業(yè)務(wù)邏輯兩部分,因此我們創(chuàng)建兩個(gè)文件夾,一個(gè)命名為“templates”,里邊存放模板,新建一個(gè)tpl.html文件,另一個(gè)命名為“PHP”,里邊存放業(yè)務(wù)邏輯,新建一個(gè)index.php文件。

tpl.html文件代碼通常是這樣:

<html>  <head><title><{$title}></title></head>  <body><{ $content;}></body>  </html>

可以看出來(lái),和之前的代碼相比,tpl.html中只有html代碼,沒(méi)有php代碼,但是增加了新的標(biāo)簽,這類標(biāo)簽是自己定義的,里面的內(nèi)容只有經(jīng)過(guò)模板引擎編譯后才能被識(shí)別,編譯后的文件存放在“templates_c”文件夾下。這個(gè)文件主要是界面設(shè)計(jì)用的,將大量使用到CSS,JS等技術(shù)。

這時(shí)候tpl.html和index.php仍舊是分離的,互不干擾,因此需要一個(gè)“橋梁”連接,即模板引擎,其實(shí)就是一個(gè)PHP類,故在此可以創(chuàng)建一個(gè)mytpl.class.php的PHP文件。

mytpl.class.php文件通常定義一個(gè)類MyTpl,類中需定義一個(gè)數(shù)組tpl_var[]用于存放tpl.html中自定義內(nèi)容標(biāo)簽的參數(shù),此外還需定義一些方法,這些方法最主要的目的是將tpl.hml中無(wú)法識(shí)別的的內(nèi)容標(biāo)簽轉(zhuǎn)換成PHP語(yǔ)句,然后再寫(xiě)到一個(gè)“templates_c”文件夾下的tpl_c.html中,這個(gè)過(guò)程就是所謂的編譯。

通常tpl_c.html文件的代碼是這樣的:

<html>  <head><title><?php echo $this->tpl_var[“title”]; ?></head>  <body><?php echo $this->tpl_var[“content”]; ?}></body>  </html>

可以看出上面的代碼是可以被識(shí)別的,因?yàn)樽远x的內(nèi)容標(biāo)簽已經(jīng)被替換成PHP語(yǔ)句了,但是title和content的值是多少我們還不得而知,這時(shí)候之前創(chuàng)建的index.php要上場(chǎng)了.

index.php通常它代碼是這樣的:

include  “tpl.class.php文件”;//加載模板引擎  $tpl = new MyTpl();//實(shí)例化一個(gè)模板類  $title = “標(biāo)題”;  $content = “內(nèi)容”;  $tpl->assign(“title”,$title);//調(diào)用模板類中的方法,分配變量  $tpl->assign(“content”,$content);  $tpl->display(“tpl.html”);//調(diào)用模板類中的方法,用于顯示編譯后的內(nèi)容

上面的代碼只是一些簡(jiǎn)單的描述代碼,其中的變量的值可以是直接定義的也可以是從數(shù)據(jù)庫(kù)中獲取的,此外該文件還可以編寫(xiě)一些復(fù)雜的PHP程序,這也就是之前說(shuō)的業(yè)務(wù)邏輯。

這樣GUI和業(yè)務(wù)邏輯的工作就分離了,美工設(shè)計(jì)人員只需要編寫(xiě)模板文件就可以改變web的界面,而PHP程序員則可以專心編寫(xiě)自己的程序。

公司內(nèi)部一般都有自己的模板引擎,而通常模板引擎自己寫(xiě)的話完全沒(méi)有必要,因?yàn)槭忻嫔弦呀?jīng)有一些很成熟的模板引擎了,比如Smarty,我們只需要懂得如何使用它就好了。

推薦學(xué)習(xí):《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
美女精品在线观看| 国产精品99免费看| 日本中文字幕不卡| 亚洲一二av| 日韩激情av在线| 日本va欧美va欧美va精品| 日本va欧美va欧美va精品| 国产精选一区| 国产精品22p| 精品国产亚洲一区二区三区在线 | 91精品啪在线观看国产18| 色在线中文字幕| 久久九九精品| 欧美日韩视频| 亚洲精品福利| 国产精品久久久一区二区| 国产在线不卡一区二区三区| 蜜臀国产一区| 一本色道精品久久一区二区三区| 99国产精品| 亚洲精品国产精品粉嫩| 国产精品国码视频| 桃色av一区二区| 亚洲欧洲一区| 青青国产精品| 精品国产美女a久久9999| 亚洲91精品| 亚洲欧美专区| 国产一区二区三区四区| 欧美日韩一二三四| 亚洲精品第一| 日韩.com| 亚洲尤物在线| 国产亚洲观看| 成人在线黄色| 亚洲主播在线| 国产精品嫩模av在线| 四虎成人av| 99在线|亚洲一区二区| 日本a级不卡| 久久五月天小说| 五月激激激综合网色播| 久久久久久久欧美精品| 欧美日本不卡| av免费不卡国产观看| 午夜久久黄色| 国产极品嫩模在线观看91精品| 日韩不卡视频在线观看| 日韩一区精品视频| 精品久久在线| 丝袜美腿高跟呻吟高潮一区| 免费在线亚洲| 亚洲一区二区三区免费在线观看| 国产精品美女在线观看直播| 不卡中文一二三区| 久久国内精品自在自线400部| 伊人久久在线| 亚洲精品乱码久久久久久蜜桃麻豆| 激情综合五月| 日韩一区二区免费看| 精品视频一二| 亚州精品视频| 日韩欧美视频专区| 无码日韩精品一区二区免费| 欧美一区久久久| 日韩高清在线一区| 欧美91视频| 国产一区国产二区国产三区| 色8久久久久| 欧美搞黄网站| 国产91欧美| 啪啪亚洲精品| 99在线|亚洲一区二区| 超级白嫩亚洲国产第一| 老色鬼久久亚洲一区二区| 美女av在线免费看| 日韩和欧美的一区| 日韩午夜电影| 视频二区不卡| 精品国产中文字幕第一页| 亚洲精品无播放器在线播放| 精品一区欧美| 亚洲精品成人图区| 美女视频一区在线观看| 日韩av在线播放中文字幕| 模特精品在线| 激情五月综合网| 国产精品原创| 久久精品亚洲| 日韩精选在线| 视频一区视频二区中文字幕| 91精品一区国产高清在线gif| 老司机精品视频网| 国产日韩高清一区二区三区在线| 99在线精品免费视频九九视| 久久国产日韩| 日韩中文字幕高清在线观看| 久久中文精品| 国产精品最新自拍| 欧美一级网址| 91久久精品无嫩草影院| 亚洲涩涩av| 羞羞答答国产精品www一本| 亚洲国产综合在线看不卡| 国产精品777777在线播放 | 一区二区精品| 黄色精品网站| 国产综合色产| 欧美精品一区二区久久| 在线观看精品| 色偷偷偷在线视频播放| 首页国产精品| 黑人精品一区| 韩国久久久久久| jizzjizz中国精品麻豆| 久久97视频| 久久精品二区亚洲w码| 国产精品.xx视频.xxtv| 色综合视频一区二区三区日韩 | 美女精品久久| 精品国产中文字幕第一页| 麻豆国产精品| 国产96在线亚洲| 色黄视频在线观看| 国产在线|日韩| 午夜免费一区| 免费的成人av| 日韩精品欧美大片| 奇米777国产一区国产二区| 久久精品999| 国产精品久久乐| 久久久精品国产**网站| 成人高清一区| 亚洲精品成人图区| 亚洲va在线| 国产婷婷精品| 日本在线不卡视频一二三区| 日韩av一区二区三区| 国产激情久久| 在线天堂中文资源最新版| 亚洲精品.com| 亚洲欧美日韩国产| 日韩国产欧美在线播放| 国产精品magnet| 国产v综合v| 国产婷婷精品| 97se亚洲| 国产精品不卡| 婷婷精品进入| 日韩一区精品| 精品深夜福利视频| 欧美午夜精彩| 亚洲三级毛片| 卡一卡二国产精品| 久久在线免费| 天堂va欧美ⅴa亚洲va一国产| 国产免费av一区二区三区| 国产不卡精品| 99热免费精品| 国产精品大片免费观看| 日本不良网站在线观看| 亚洲精品在线观看91| 日韩激情啪啪| 亚洲国产成人二区| 六月丁香综合| 老牛国内精品亚洲成av人片| 国产综合婷婷| 欧美日韩xxxx| 久久九九精品| 日韩1区2区日韩1区2区| 免费福利视频一区二区三区| 免播放器亚洲一区| 粉嫩av一区二区三区四区五区 | 久久在线电影| 啪啪亚洲精品| 色婷婷精品视频| 日本99精品| 日韩在线欧美| 日韩激情一区二区| av在线日韩| 日韩av一区二区在线影视| 超级白嫩亚洲国产第一| 免费视频最近日韩| 久久伊人亚洲| 麻豆精品91| 国产精品国产一区| 久久国产精品久久w女人spa| 精品视频高潮| 亚洲精品激情| 亚洲手机在线| 国产精品s色| 久色成人在线| 香蕉成人av| 国产精品久久久久久久久久白浆 | 日本欧美一区| 午夜久久久久| 久久久精品国产**网站| 美女黄网久久| 日韩另类视频| 麻豆一区二区三区|