真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php模板引擎原理是什么?

php模板引擎原理是作為視圖層和模型層分離的一種有效解決方案,讓前后端更好的分工協(xié)作,來自于經(jīng)典的MVC模型,即【模型層-視圖層-控制器模型】,將M和V實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。

10年的西安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整西安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“西安網(wǎng)站設(shè)計(jì)”,“西安網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

php模板引擎原理是:

1、模板引擎的由來

模板引擎思想來自于經(jīng)典的MVC模型,即模型層 - 視圖層 - 控制器模型。MVC本來存在于桌面程序中,M指數(shù)據(jù)模型,V指用戶界面,C指控制器。使用MVC的目的是將M和V實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。

隨著Web的流行,這一模型被引入Web開發(fā)中。此時(shí),V(視圖層),也就是通常所說的模板,實(shí)現(xiàn)了數(shù)據(jù)生成和數(shù)據(jù)展示的分離。早期的視圖通常是由html元素控制界面,隨著互聯(lián)網(wǎng)的發(fā)展,一些新的表現(xiàn)出技術(shù)(例如Flex等)流行起來,MVC使得數(shù)據(jù)和表現(xiàn)得到分離,一套數(shù)據(jù)可以用于多種表現(xiàn)層而無需修改邏輯層的代碼。例如,可以在M層(模型層)生成博客文章列表的數(shù)據(jù),然后可以在傳統(tǒng)的Web頁面、RIA應(yīng)用、手機(jī)應(yīng)用中使用不同的表現(xiàn)層技術(shù)來展示數(shù)據(jù),而不用修改邏輯層的代碼,實(shí)現(xiàn)前端和后端的分離。

此外,AJAX技術(shù)的流行、Jquery庫的普遍應(yīng)用,使早期html、Javascript、PHP代碼混寫的情況得到改觀。AJAX技術(shù)的應(yīng)用使數(shù)據(jù)的請(qǐng)求和生成、展示實(shí)現(xiàn)了分離,促進(jìn)了表現(xiàn)層(V)和代碼層的分離。

模板引擎作為視圖層和模型層分離的一種有效解決方案,讓前后端更好的分工協(xié)作。PHP開發(fā)經(jīng)歷了前后端混編,到極力推崇模板引擎(以Smarty為代表),再到如今的回歸自然、甚至質(zhì)疑PHP模板引擎存在的必要性這幾個(gè)發(fā)展階段。

PHP中到底有沒有必要使用模板引擎?模板引擎的原理是什么?為什么Smarty會(huì)那么的流行,而如今在PHP社區(qū)又引起如此大的爭(zhēng)論?這些都是在接下來討論的問題。

2代碼分層的思想

PHP作為輕巧靈活的腳本語言,非常適合Web開發(fā)這種開發(fā)周期短、需求變化快、強(qiáng)調(diào)用戶體驗(yàn)的需求和業(yè)務(wù)。PHP早起開發(fā),通常都是PHP代碼和HTML混寫,代碼中到處可見數(shù)據(jù)庫操作、邏輯判斷、HTML代碼生成,甚至Javascript代碼等。對(duì)于小型項(xiàng)目,這種編碼方式能夠很快的完成需求。但是一旦項(xiàng)目擴(kuò)大后,前端邏輯會(huì)越來越復(fù)雜,這種完全混寫的方式必將造成代碼可讀性差和后期維護(hù)困難等等問題。

在PHP發(fā)展初期,我們可能這么寫:




最原始的PHP編碼風(fēng)格 - 李苦李


";
}
mysql_free_result($result);
?>
ID 姓名
".$row['id']."" .$row['username']."

顯而易見,對(duì)于上述代碼無論是在可讀性、可維護(hù)性還是在代碼的復(fù)用性上都是極其差的。需要想辦法實(shí)現(xiàn)數(shù)據(jù)生成和顯示的分離,通常最容易想到的辦法就是把和數(shù)據(jù)庫打交道的代碼單獨(dú)放到一個(gè)文件中,顯示數(shù)據(jù)的部分放到另一個(gè)文件中。新建文件data.php并獲取數(shù)據(jù),如以下代碼所示:

這兩種做法都沒有實(shí)現(xiàn)PHP代碼和HTML代碼的分離,但是第二種做法相比第一種做法實(shí)現(xiàn)了數(shù)據(jù)獲取和數(shù)據(jù)展示的分離。在第二種處理方法中,其中一個(gè)文件專門負(fù)責(zé)和數(shù)據(jù)庫交互,獲取和處理數(shù)據(jù)。然后交由另一個(gè)文件顯示數(shù)據(jù),這個(gè)負(fù)責(zé)顯示的文件只是進(jìn)行一些簡單的邏輯操作,例如循環(huán)、判斷、輸出等。顯然,第二種處理方式比第一種處理方式更加易于維護(hù)。

對(duì)于第二種處理方式,我們還可以使用HereDoc語法使其更簡潔,代碼如下所示:

$value[id]$value[username];
TM;
}
?>

第二種處理方式即原生態(tài)的PHP模板機(jī)制,是當(dāng)前一些PHP程序所采用的模板機(jī)制,特點(diǎn)就是簡單靈活、符合PHP的語法和使用習(xí)慣、學(xué)習(xí)成本低。缺點(diǎn)就是不能實(shí)現(xiàn)一些高級(jí)功能,例如實(shí)現(xiàn)可配置化、緩存、使得模板文件脫離PHP語法等等。今天先寫到這里,這些問題我們將會(huì)在接下來的文章中陸續(xù)解決。


網(wǎng)頁名稱:php模板引擎原理是什么?
分享網(wǎng)址:http://weahome.cn/article/cpgpso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部