精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

php模板引擎原理是什么?

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

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

php模板引擎原理是:

1、模板引擎的由來

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

隨著Web的流行,這一模型被引入Web開發(fā)中。此時,V(視圖層),也就是通常所說的模板,實現(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)用、手機應(yīng)用中使用不同的表現(xiàn)層技術(shù)來展示數(shù)據(jù),而不用修改邏輯層的代碼,實現(xiàn)前端和后端的分離。

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

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

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

2代碼分層的思想

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

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




最原始的PHP編碼風格 - 李苦李


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

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

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

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

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

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


網(wǎng)站標題:php模板引擎原理是什么?
鏈接分享:http://m.jcarcd.cn/article/cpgpso.html
主站蜘蛛池模板: 日韩精品美女视频 | 国产卡二卡三卡四卡 | 国产视频综合网 | 国产在线观看高 | 日本不卡视| 国产精品国产a | 日本免费三片在 | 欧美性:生活视频 | 91深夜视频 | 91福利合集 | 人成视频播放 | 成人永久福| 欧美整片sss | 中文字幕一区二区三 | 日本久本草 | 欧美亚洲制服 | 国产精品福利在线观 | 国产黄在| 日本性xxx | 日韩在线视频97 | 日本乱伦中文自拍 | 精品午夜国产福 | 国产综合高清 | 欧美午夜视频一区 | 午夜色综合 | 午夜国产精品精品 | 精品国产精品 | 日本一区不| 国产精品视频分类 | 日产精品一 | 午夜看片a福利在线 | 国产真实乱在线更新 | 成人一区二区电影 | 美日韩午夜福利 | 中文字幕按摩做爰 | 国产精品欧美在线 | 国产精品第157页 | 欧美日韩亚洲国产一 | 国产特级婬片免费看 | 福利在线视频导航 | 国产色宗合 |