成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

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

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

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

沒用模板之前的編寫的代碼是這樣的:

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

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

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

之前說(shuō)了開發(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代碼,沒有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ǔ)句,然后再寫到一個(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ù)中獲取的,此外該文件還可以編寫一些復(fù)雜的PHP程序,這也就是之前說(shuō)的業(yè)務(wù)邏輯。

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

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

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

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
激情男女高潮射精AV免费| 粉嫩小泬久久久久久久久久小说 | 国内精品国产三级国产AV| 国产又爽又黄无码无遮挡在线观看| 国内精品久久久久久不卡影院| 黑人入室粗暴人妻中出| 久久99成人精一区二区三区 | 亚洲AV无码一区二区三区人| 亚洲精品无码AV专区最新| 亚洲AV无码久久久久网站蜜桃 | 麻豆文化传媒WWW| 欧美军警GAY巨大粗长| 人曾交互MOUSE农场| 日韩成人精品久久网站| 无码H黄肉动漫在线观看999| 亚洲AV无码成人精品区欧洲| 亚洲中文字幕无码专区| 夜夜夜高潮夜夜爽夜夜爰爰| 18禁黄网站禁片免费观看国产 | 性欧美暴力猛交69HD| 亚洲精品无码专区久久久| 在线观看亚洲av| 被公侵犯肉体中文字幕无码| 国产精品国产精品偷麻豆 | 成人免费看WWW网址入口| 国产成人无码精品XXXX| 娇小BBW搡BBBB搡BBBB| 美女GIF趴跪式抽搐动态图| 人妻无码一区二区三区久| 污的你下面一直滴水的句子| 亚洲AV永久无码成人私密按摩 | 久久婷婷五月综合色99啪AK| 欧一欧二欧三乱码| 无码精品人妻一区二区三区漫画| 亚洲一区无码中文字幕乱码| 在小巷里被强高HNP| 顶级欧美做受XXX000| 狠狠五月激情六月丁香| 久久久久亚洲AV无码专区首 | 草莓视频在线观看18| 国产亚洲精久久久久久无码| 九九AV高潮AV无码AV喷吹| 欧美在线 | 亚洲| 午夜三级理论在线观看高清| 一二三四视频社区| 成人无遮挡裸免费视频在线观看| 国产在线观看无遮挡无码AⅤ多人| 久久AV无码AV高潮AV喷吹| 欧美一级137片内射亚洲| 五十熟妇日本熟妇久久| 一面亲上边一面膜的免费| 差差差无掩盖视频30分钟| 激情无码人妻又粗又大中国人| 麻豆传煤入口免费进入2023| 色欲色香天天天综合网WWW| 亚洲熟妇无码爱V在线观看| 2023年最新绝伦推理片推荐| 国产成人无码一二三区视频| 久久午夜伦鲁片免费无码| 人妻少妇精品视频一区二区三区 | 亚洲国产精品18久久久久久| ZZIJZZIJ亚洲日本少妇| 精品国产AⅤ一区二区三区V视界| 欧美最猛黑人XXXⅩ猛男野外| 亚洲AV成人片无码网站网8X| 乱码人妻一区二区三区| 国产精品久久国产三级国不卡顿| 萝卜视频高清免费视频日本| 无线乱码不卡一二三四破解版| AV免费无码天堂在线| 精产国品一二三产品区别在哪里 | 久久99精品久久久久免费| 熟妇人妻精品一区二区三区颏 | 国产高清不卡一区二区| 拧花蒂尿用力按凸起喷水尿视频 | 国产精品丝袜一区二区三区 | ぱらだいす天堂中文WWW| 精品亚洲国产成人AV在线小说| 少妇MM被擦出白浆液视频| 18未满禁止免费69影院| 精品国产乱码久久久久久浪潮| 无码AV蜜臀AⅤ色欲在线观看| XBOXONE播放DVD碟片| 精品一卡二卡≡卡四卡日产乱码| 婷婷色香五月综合激激情| 保守人妻精油按摩被强出| 免费观看高清日本AⅤ| 亚洲乱码尤物193YW最新网站| 国产精品99久久久久久宅男小说| 人妻熟女一区二区AⅤ| 竹菊影视欧美日韩一区二区三区四 | 激情亚洲一区国产精品| 无码秘 蜜桃一区二区三区| 别揉我奶头~嗯~啊~免费视频| 妺妺窝人体色www九色| 野花日本大全免费观看2019| 黄a无码片内射无码视频| 无码熟妇人妻Av又大又粗又爽| 不卡无在一区二区三区四区| 欧美XXXX色视频在线观看| 呦小BBW搡BBBB搡BBBB| 久久AV喷吹AV高潮AV欧美| 亚洲VA久久久噜噜噜久久天堂| 国产精品亚洲一区二区无码 | 国产成人 综合 亚洲欧美| 日本一本免费一区二区三区免| AⅤ日本亚洲欧洲免费| 免费黄色网站久久精品| 在线观看日本亚洲一区| 久久人人爽人人爽人人片AV| 亚洲香蕉中文日韩V日本| 精品无码日韩国产不卡AV| 亚洲VA久久久噜噜噜久久天堂 | 亚洲综合色区另类小说| 久久WWW成人_看片免费不卡| 亚洲成AV人片一区二区| 国内揄拍国内精品少妇国语| 亚洲AⅤ无码日韩AV中文AV伦 | 成人网站亚洲二区乱码 | 亚洲精品AⅤ在线观看| 黑人巨大熟女高潮痉挛潮喷| 亚洲AV成人无码精品网站老司机 | 亚洲情综合五月天| 精品亚洲成A人在线观看青青 | 性少妇TUBEVIDEOS| 国产无遮挡又黄又爽免费吃瓜视频 | 亚洲国产美女精品久久久久∴ | 国产成人无码AV在线影院| 天天爽夜夜爽人人爽| 国产精品IGAO视频网| 五十路六十路七十路熟婆| 国产午夜成人免费看片| 亚洲A成人无码网站在线| 禁止18点击进入在线看片尤物| 亚洲欧美日韩另类| 久久亚洲私人国产精品VA| 征服贵妇内射在线| 男人J桶进女人J无遮挡| JIJZZIZZ老师出水喷水多| 人禽杂交18禁网站免费| 穿着旗袍方便C英语老师| 天堂资源中文最新版在线一区| 国产成人无码A区在线观看视频免| 无遮挡十八禁污污网站免费 | 果冻传媒董小宛一区二区| 亚洲精品无码av中文字幕电影网站| 久久成人国产精品免费软件| 又黄又爽又无遮挡免费的网站| 免费播放片Ⅴ免费人成视频| A亚洲VA欧美VA国产综合| 日韩精品卡2卡3卡4卡5| 国产精品国产三级国AV麻豆| 亚洲AV中文无码乱人伦在线r▽| 久久99精品国产麻豆不卡| 最新国产精品久久精品| 人人妻人人爽日日人人| 国产成人无码A区在线观看视频 | 午夜无码人妻AV大片色欲| 激情综合亚洲色婷婷五月APP| 尹人香蕉久久99天天拍| 翘臀后进呻吟喷水的少妇| 国产成人啪精品视频免费软件| 亚洲AV永久无码精品网站在线观 | 亚洲AV成人无码AV小说| 久久国产乱子精品免费女| 47147人文艺术欣赏| 色噜噜噜亚洲男人的天堂| 国语自产精品视频在线区| 曰韩人妻无码一区二区三区综合部| 欧美精品99久久久啪啪| 国产AV无码专区亚洲精品| 亚洲精品二区国产综合野狼| 农村妇女野外交性高清片| 丰满妇女强高潮ⅩXXX| 亚洲国产成人无码影片在线播放 | 女人高潮喷水毛片免费| 公交车被CAO得合不拢腿视频| 亚洲AV无码专区精品无码| 免费无码午夜福利电影网| 丰满少妇人妻无码| 亚洲色欲色欲综合网站| 人妻丝袜中文无码AV影音先锋专| 国产特级毛片AAAAAAA高清| 永久免费观看午夜成人网站| 日韩人妻无码AⅤ中文字幕| 禁欲少校大哥的囚禁| AV无码人妻中文字幕| 性色A码一区二区三区天美传媒| 迷迷糊糊挺进岳身体| 国产VA在线观看免费| 一边亲着一面膜下奶怎么回事| 日韩A无V码在线播放| 精品国产亚洲一区二区三区| А√在线天堂中文| 亚洲超星团在哪个平台播| 欧美日韩国产精品| 国内精品久久久久久久影视麻豆| 99精品又大又爽又粗少妇毛片| 午夜福利一区二区三区在线观看| 免费观看30分钟哔哩哔哩视频|