這篇文章給大家分享的是有關(guān)smarty和thinkphp有什么區(qū)別的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司專注于涵江企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。涵江網(wǎng)站建設(shè)公司,為涵江等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Smarty是一個(gè)使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。
它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。
簡(jiǎn)單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端人員的頁面設(shè)計(jì),前端人員重新修改頁面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。
優(yōu)點(diǎn)(推薦學(xué)習(xí):PHP編程從入門到精通)
1. 速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點(diǎn)是相對(duì)于其它的模板引擎技術(shù)而言的。
2. 編譯型:采用Smarty編寫的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的PHP文件,這個(gè)文件采用了PHP與HTML混合的方式,在下一次訪問模板時(shí)將WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒有改動(dòng)的情況下)
3. 緩存技術(shù):Smarty選用的一種緩存技術(shù),它可以將用戶最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁,當(dāng)設(shè)定Smarty的cache屬性為true時(shí),在Smarty設(shè)定的cachetime期內(nèi)將用戶的WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來,這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。
4. 插件技術(shù):Smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對(duì)模板進(jìn)行格式重排。
不適合使用Smarty的地方
需要實(shí)時(shí)更新的內(nèi)容。例如像股票顯示,它需要經(jīng)常對(duì)數(shù)據(jù)進(jìn)行更新,這類型的程序使用smarty會(huì)使模板處理速度變慢。
小項(xiàng)目。小項(xiàng)目因?yàn)轫?xiàng)目簡(jiǎn)單而美工與程序員兼于一人的項(xiàng)目,使用Smarty會(huì)在一定程度上喪失PHP開發(fā)迅速的優(yōu)點(diǎn)。
(PS:不過為了整個(gè)項(xiàng)目的規(guī)范,請(qǐng)大家嘗試去使用模板引擎。其實(shí)習(xí)慣了,開發(fā)速度會(huì)更加快,以上是沒有用習(xí)慣模板引擎的開發(fā)者遇到的問題)
ThinkPHP是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的。最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協(xié)議發(fā)布。
ThinkPHP從誕生以來一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),也注重易用性。并且擁有眾多原創(chuàng)功能和特性,在社區(qū)團(tuán)隊(duì)的積極參與下,在易用性、擴(kuò)展性和性能方面不斷優(yōu)化和改進(jìn)。
ThinkPHP是一個(gè)快速、兼容而且簡(jiǎn)單的輕量級(jí)國(guó)產(chǎn)PHP開發(fā)框架,誕生于2006年初,原名FCS,2007年元旦正式更名為ThinkPHP,遵循Apache2開源協(xié)議發(fā)布,從Struts結(jié)構(gòu)移植過來并做了改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標(biāo)簽庫)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服務(wù)器環(huán)境,正式版需要PHP5.0以上版本支持,支持MySQL、PgSQL、Sqlite多種數(shù)據(jù)庫以及PDO擴(kuò)展,ThinkPHP框架本身沒有什么特別模塊要求,具體的應(yīng)用系統(tǒng)運(yùn)行環(huán)境要求視開發(fā)所涉及的模塊。
作為一個(gè)整體開發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開發(fā)中的大多數(shù)需要,因?yàn)槠渥陨戆说讓蛹軜?gòu)、兼容處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理等常用的組件,并且對(duì)于跨版本、跨平臺(tái)和跨數(shù)據(jù)庫移植都比較方便。并且每個(gè)組件都是精心設(shè)計(jì)和完善的,應(yīng)用開發(fā)過程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。
感謝各位的閱讀!關(guān)于“smarty和thinkphp有什么區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!