thinkphp是一個(gè)開源輕量級(jí)PHP框架,是用來(lái)簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)的;使用ThinkPHP,開發(fā)者可以更方便和快捷的開發(fā)和部署應(yīng)用。Smarty是一個(gè)PHP模板引擎,可以更好的幫助開發(fā)者分離程序邏輯和頁(yè)面顯示(業(yè)務(wù)邏輯和顯示邏輯分離),使程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端人員的頁(yè)面設(shè)計(jì),前端人員重新修改頁(yè)面不會(huì)影響到程序的程序邏輯。
本教程操作環(huán)境:Windows7系統(tǒng)、thinkphp6&&smarty4版、Dell G3電腦。
thinkphp是什么
ThinkPHP,是為了簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的開源輕量級(jí)PHP框架。
最早誕生于2006年初,2007年元旦正式更名為ThinkPHP,并且遵循Apache2開源協(xié)議發(fā)布。ThinkPHP從誕生以來(lái)一直秉承簡(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)移植過(guò)來(lái)并做了改進(jìn)和完善,同時(shí)也借鑒了國(guó)外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標(biāo)簽庫(kù))、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服務(wù)器環(huán)境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多種數(shù)據(jù)庫(kù)以及PDO擴(kuò)展,ThinkPHP框架本身沒(méi)有什么特別模塊要求,具體的應(yīng)用系統(tǒng)運(yùn)行環(huán)境要求視開發(fā)所涉及的模塊。
作為一個(gè)整體開發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開發(fā)中的大多數(shù)需要,因?yàn)槠渥陨戆说讓蛹軜?gòu)、兼容處理、基類庫(kù)、數(shù)據(jù)庫(kù)訪問(wèn)層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理等常用的組件,并且對(duì)于跨版本、跨平臺(tái)和跨數(shù)據(jù)庫(kù)移植都比較方便。并且每個(gè)組件都是精心設(shè)計(jì)和完善的,應(yīng)用開發(fā)過(guò)程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。
優(yōu)點(diǎn):
1、易于上手,有豐富的中文文檔;
2、學(xué)習(xí)成本低,社區(qū)活躍度高;
3、框架的兼容性較強(qiáng),PHP4和PHP5完全兼容、完全支持UTF8等。
4、 適合用于中小項(xiàng)目的開發(fā)。
5、完全符合現(xiàn)代PHP的MVC框架理念;
6、結(jié)合了Thinkphp的數(shù)據(jù)庫(kù)框架ORM,只要懂TP,用我們這個(gè)框架毫無(wú)違和感。
缺點(diǎn):
1、對(duì)Ajax的支持不是很好;
2、目錄結(jié)構(gòu)混亂,需要花時(shí)間整理;
3、上手容易,但是深入學(xué)習(xí)較難。
smarty是什么
Smarty是一個(gè)使用PHP寫出來(lái)的模板引擎,是業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來(lái)將原本與HTML代碼混雜在一起PHP代碼邏輯分離。
Smarty可以更好的幫助開發(fā)者分離程序邏輯和頁(yè)面顯示,如在前后端分離的項(xiàng)目中,前后端為不同開發(fā)人員,那么Smarty便可以做到在互相不影響的情況下完美的實(shí)現(xiàn)前后臺(tái)的協(xié)作。并且業(yè)務(wù)邏輯和顯示邏輯分離,是Smarty的一個(gè)設(shè)計(jì)理念。
簡(jiǎn)單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端人員的頁(yè)面設(shè)計(jì),前端人員重新修改頁(yè)面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。
Smart的一些特性
-
非??焖?。
-
比PHP內(nèi)嵌到HTML中的做法要有效率的多。
-
比PHP內(nèi)嵌到HTML中的做法要有效率的多。
-
無(wú)模板解析的開銷,只編譯一次。
-
僅當(dāng)模板文件被修改后才會(huì)聰明地重新編譯。
-
你可以很容易創(chuàng)建自己的函數(shù)和變量修飾器,非常具有可擴(kuò)展性。
-
可配置的模板定界符語(yǔ)法{delimiter}, 你可以使用{$foo}, {{$foo}}, <!–{$foo}–>等等。
-
條件判斷語(yǔ)句 {if}..{elseif}..{else}..{/if} 會(huì)直接使用PHP解析,所以{if…}后可以是簡(jiǎn)單或者較復(fù)雜的表達(dá)式。
-
支持無(wú)限的 sections, if等的嵌套。
-
內(nèi)置緩存支持。
-
任意的模板源。
-
模板繼承 可以輕松管理模板和內(nèi)容。
【相關(guān)教程推薦:thinkphp框架】