thinkphp給需要的用戶帶來非常方便全面的php服務(wù)框架,不僅具有速度快兼容性高的優(yōu)點(diǎn),還有許多全新的功能以及不同的模式給使用者帶來工作效率的提高以及便捷的使用效果。喜歡的朋友趕緊來旋風(fēng)軟件園下載體驗(yàn)吧!
thinkphp框架是目前國內(nèi)領(lǐng)先的web應(yīng)用開發(fā)框架,是一個(gè)免費(fèi)開源、快速而且簡單的面向?qū)ο蟮妮p量級php開發(fā)框架,并且遵從apache2開源協(xié)議發(fā)布,是專門為了簡化企業(yè)級應(yīng)用開發(fā)和敏捷web應(yīng)用開發(fā)而誕生的。它擁有眾多優(yōu)秀的功能和特性,經(jīng)過三年多發(fā)展的同時(shí),在社區(qū)團(tuán)隊(duì)的積極參與下,thinkphp框架在易用性、擴(kuò)展性和性能方面經(jīng)過不斷優(yōu)化和改進(jìn),可以穩(wěn)定用于商業(yè)以及門戶級的開發(fā)。
1、簡單易用
模型(m):模型的定義由model類來完成。model類位于項(xiàng)目目錄下面的libmodel目錄。
thinkphp初始頁面控制器(c):應(yīng)用控制器(核心控制器)和action控制器都承擔(dān)了控制器的角色,區(qū)別在于action控制器完成業(yè)務(wù)過程,而應(yīng)用控制器(app類)負(fù)責(zé)調(diào)度控制。action控制器位于項(xiàng)目目錄下面的libaction目錄。
視圖(v):模板的實(shí)現(xiàn)是和框架無關(guān)的,做到了100%分離,可以獨(dú)立預(yù)覽和制作。模板目錄位于項(xiàng)目目錄下面的tpl目錄。
2、獨(dú)創(chuàng)機(jī)制
thinktemplate是一個(gè)使用了xml標(biāo)簽庫技術(shù)的編譯型模板引擎,支持兩種類型的模板標(biāo)簽,使用了動(dòng)態(tài)編譯和緩存技術(shù),而且支持自定義標(biāo)簽庫。其特點(diǎn)包括:
1)支持xml標(biāo)簽庫和普通標(biāo)簽的混合定義;
2)編譯一次,下次直接運(yùn)行而無需重新編譯;
3)模板文件更新后,自動(dòng)更新模板緩存;
4)自動(dòng)加載當(dāng)前操作的模板緩存文件,無需指定模板文件名稱;
5)支持編碼轉(zhuǎn)換和content-type更換;
thinkphp目錄結(jié)構(gòu)6)模板變量輸出前綴支持,避免變量名稱沖突;
7)模板常量替換,無需設(shè)置模板變量;
8)支持變量組合調(diào)節(jié)器和格式化功能;
9)支持替換其它模板引擎插件使用;
10)支持獲取模板頁面內(nèi)容。
內(nèi)置xml模板引擎,支持標(biāo)簽庫
3、富模型支持
1)聚合模型:
聚合模型是一種虛擬模型,用于把數(shù)據(jù)表的字段抽象化,更加容易理解和操作。
我們可以把數(shù)據(jù)表中的某些屬性進(jìn)行數(shù)據(jù)封裝,這樣就把枯燥的數(shù)據(jù)表字段賦予更好的可讀性。
2)靜態(tài)模型:
靜態(tài)模型可以讓模型的數(shù)據(jù)靜態(tài)化,而不需要頻繁和數(shù)據(jù)庫打交道,可以用于不經(jīng)常改變的數(shù)據(jù)表。而且thinkphp在orm層上面模擬實(shí)現(xiàn)了數(shù)據(jù)庫的視圖功能,這是thinkphp獨(dú)創(chuàng)的一項(xiàng)技術(shù),使得多表的關(guān)聯(lián)查詢具有更高的效率和可操作性,而無需定義復(fù)雜的關(guān)聯(lián)關(guān)系,讓關(guān)聯(lián)關(guān)系更加淺顯易懂。
有些時(shí)候,數(shù)據(jù)表的數(shù)據(jù)一旦添加后就不再容易變化,我們更希望把這樣的模型數(shù)據(jù)靜態(tài)化,而不需要再次訪問數(shù)據(jù)庫。thinkphp支持靜態(tài)模型的概念,一旦把模型設(shè)置為靜態(tài),那么會(huì)在第一次初始化的時(shí)候獲取數(shù)據(jù)表的全部數(shù)據(jù),并生成緩存,以后不會(huì)再連接數(shù)據(jù)庫。而只需要直接訪問模型的datalist數(shù)據(jù)即可。
3)視圖模型
thinkphp在orm模型里面模擬實(shí)現(xiàn)了數(shù)據(jù)庫的視圖模型,該功能可以用于多表查詢。
要定義視圖對象,需要設(shè)置viewmodel為true,然后設(shè)置viewfields屬性即可。
4、curd和操作高度自動(dòng)化支持
thinkphp提供了靈活和方便的數(shù)據(jù)操作方法,不僅實(shí)現(xiàn)了對數(shù)據(jù)庫操作的四大基本操作(curd):創(chuàng)建、讀取、更新和刪除的實(shí)現(xiàn),還內(nèi)置了很多實(shí)用的數(shù)據(jù)操作方法,提供了activerecords模式的最佳體驗(yàn)。
5、分布式數(shù)據(jù)庫支持
thinkphp的模型支持主從式數(shù)據(jù)庫的連接,配置db_deploy_type為1可以采用分布式數(shù)據(jù)庫支持。
6、多數(shù)據(jù)庫連接和切換支持
如果需要在特殊的時(shí)候連接多個(gè)數(shù)據(jù)庫,那么可以嘗試使用thinkphp的多數(shù)據(jù)庫連接特性:包括相同類型的數(shù)據(jù)庫和不同類型的數(shù)據(jù)庫。(注意:所謂的相同類型數(shù)據(jù)庫的定義是指和項(xiàng)目配置文件或者模型的數(shù)據(jù)庫連接的數(shù)據(jù)庫類型相同。)
7、豐富的查詢語言支持
thinkphp大多數(shù)情況使用的都是對象查詢,因?yàn)槌浞掷昧薿rm查詢語言,了解查詢條件的定義對使用對象查詢非常有幫助,對于復(fù)雜的查詢,或者從安全方面考慮,可以使用hashmap對象或者索引數(shù)組來傳遞查詢條件。
8、目錄結(jié)構(gòu)自動(dòng)創(chuàng)建thinkphp目錄結(jié)構(gòu)
thinkphp具有項(xiàng)目目錄自動(dòng)創(chuàng)建功能,你只需要定義好項(xiàng)目的入口文件,第一次執(zhí)行入口文件的時(shí)候,系統(tǒng)會(huì)自動(dòng)創(chuàng)建項(xiàng)目的相關(guān)目錄結(jié)構(gòu),如果是linux環(huán)境下面需要給項(xiàng)目入口文件里面指定的路徑設(shè)置可寫權(quán)限。
9、activerecords模式和豐富的ror特性
thinkphp實(shí)現(xiàn)了activerecords模式的orm模型,采用了非標(biāo)準(zhǔn)的orm模型:表映射到類,記錄(集)映射到對象,字段屬性映射到對象的虛擬屬性。最大的特點(diǎn)就是使用方便,從而達(dá)到敏捷開發(fā)的目的。
10、靈活簡單的項(xiàng)目配置
thinkphp提供了靈活的配置功能,采用最有效率的php返回?cái)?shù)組方式定義,支持慣例配置、項(xiàng)目配置、調(diào)試配置和模塊配置,并且會(huì)自動(dòng)生成配置緩存文件,無需重復(fù)解析的開銷。對于有些簡單的應(yīng)用,你無需配置任何配置文件,而對于復(fù)雜的要求,你還可以增加模塊配置文件,另外thinkphp的動(dòng)態(tài)配置使得你在開發(fā)過程中可以靈活的調(diào)整配置參數(shù)。
thinkphp在項(xiàng)目配置上面創(chuàng)造了自己獨(dú)有的分層配置模式,其配置層次體現(xiàn)在:慣例配置-->項(xiàng)目配置-->模塊配置-->操作(動(dòng)態(tài))配置,優(yōu)先順序從右到左(在沒有生效的前提下)。
11、模型自動(dòng)驗(yàn)證和處理
系統(tǒng)內(nèi)置了數(shù)據(jù)對象的自動(dòng)驗(yàn)證功能,而大多數(shù)情況下面,數(shù)據(jù)對象是由表單提交的$_post數(shù)據(jù)創(chuàng)建。需要使用系統(tǒng)的自動(dòng)驗(yàn)證功能,只需要在model類里面定義$_validate屬性,是由多個(gè)驗(yàn)證因子組成的數(shù)組,支持的驗(yàn)證因子格式:驗(yàn)證字段,驗(yàn)證規(guī)則,錯(cuò)誤提示,驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間。
12、靜態(tài)頁面生成和多元化緩存機(jī)制
thinkphp內(nèi)置了靜態(tài)緩存的功能,并且支持靜態(tài)緩存的規(guī)則定義。要使用靜態(tài)緩存功能,需要開啟html_cache_on參數(shù),并且在項(xiàng)目配置目錄下面增加靜態(tài)緩存規(guī)則文件htmls.php。
13、豐富的數(shù)據(jù)庫及pdo支持
seo和url路由支持
ajax支持
易擴(kuò)展的系統(tǒng)基類庫
14、系統(tǒng)基類庫
thinkphp框架通過基類庫的概念把所有系統(tǒng)類庫都集成在一起,包括thinkphp的核心類庫。
基類庫分成think核心類庫、org擴(kuò)展類庫,在這主要介紹的是核心基類庫,核心基類庫的作用是完成框架的通用性開發(fā)而必須的基礎(chǔ)類和常用工具類等,包含有:
think.core 核心類庫包
think.db 數(shù)據(jù)庫類庫包
think.util 系統(tǒng)工具類庫包
think.template 內(nèi)置模板引擎類庫包
think.exception 異常處理類庫包函數(shù)庫
thinkphp內(nèi)置了一個(gè)系統(tǒng)公共函數(shù)庫,提供了一些系統(tǒng)需要的函數(shù),系統(tǒng)函數(shù)庫位于thinkphp的common目錄下面,名稱為functions.php。
每個(gè)項(xiàng)目可以定義自己的函數(shù)庫,位于項(xiàng)目的common目錄下面的common.php文件。
如果項(xiàng)目在common目錄下面有定義自己的common.php文件,框架會(huì)在初始化的時(shí)候自動(dòng)導(dǎo)入,而無需自己導(dǎo)入。
15、匹配導(dǎo)入
import方法是thinkphp內(nèi)建的類庫和文件導(dǎo)入方法,提供了方便和靈活的類似于命名空間的文件導(dǎo)入機(jī)制。
16、自動(dòng)編碼轉(zhuǎn)換
thinkphp框架的文件全部采用utf-8編碼格式,utf-8的支持和自動(dòng)輸出編碼轉(zhuǎn)換的功能讓頁面表現(xiàn)更加靈活。您可以配置輸出的頁面編碼格式,如gb2312等(默認(rèn)采用utf-8輸出)。系統(tǒng)根據(jù)配置文件中設(shè)置的編碼格式自動(dòng)對頁面進(jìn)行編碼轉(zhuǎn)換,支持iconv和mb_string兩種方式,為了提高效率,如果系統(tǒng)的模板編碼設(shè)置和輸出編碼設(shè)置項(xiàng)相同,則不會(huì)進(jìn)行編碼轉(zhuǎn)換。thinkphp可以設(shè)置模板編碼、輸出編碼和數(shù)據(jù)庫編碼,并自動(dòng)完成轉(zhuǎn)換工作,讓你的應(yīng)用不再受編碼的苦惱。
引入容器和facade支持
依賴注入完善和支持更多場景
重構(gòu)的(對象化)路由
取消系統(tǒng)常量
助手函數(shù)增強(qiáng)
類庫別名機(jī)制
模型和數(shù)據(jù)庫增強(qiáng)
支持注解路由
跨域請求支持
配置和路由目錄獨(dú)立
驗(yàn)證類增強(qiáng)
模板引擎改進(jìn)
支持psr-3日志規(guī)范
中間件支持(v5.1.6+)
大?。?66.00M / 版本:v5.0 免費(fèi)版
大小:53.35M / 版本:v5.0 免費(fèi)版
大?。?8.17M / 版本:v5.0 免費(fèi)版
大小:4.84M / 版本:v5.0 免費(fèi)版
大?。?4.58M / 版本:v5.0 免費(fèi)版
大?。?.03M / 版本:v5.0 免費(fèi)版
大?。?91.00M / 版本:v5.0 免費(fèi)版
大小:20.40M / 版本:v5.0 免費(fèi)版
大?。?6.56M / 版本:v5.0 免費(fèi)版
大?。?27.69M / 版本:v5.0 免費(fèi)版
大?。?66.78M / 版本:v5.0 免費(fèi)版
大?。?.48M / 版本:v5.0 免費(fèi)版