一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

THINKPHP

 邵飛翔 2016-04-11

折疊 編輯本段 基本特性

1.簡(jiǎn)單易用的MVC模式THINKPHPTHINKPHP

模型(M):模型的定義由Model類(lèi)來(lái)完成。Model類(lèi)位于項(xiàng)目目錄下面的LibModel目錄。

控制器(C):應(yīng)用控制器(核心控制器)和Action控制器都承擔(dān)了控制器的角色,區(qū)別在于Action控制器完成業(yè)務(wù)過(guò)程,而應(yīng)用控制器(App類(lèi))負(fù)責(zé)調(diào)度控制。Action控制器位于項(xiàng)目目錄下面的LibAction目錄。

視圖(V):模板的實(shí)現(xiàn)是和框架無(wú)關(guān)的,做到了100%分離,可以獨(dú)立預(yù)覽和制作。模板目錄位于項(xiàng)目目錄下面的Tpl目錄。

2.獨(dú)創(chuàng)的核心編譯和項(xiàng)目編譯機(jī)制

ThinkTemplate是一個(gè)使用了XML標(biāo)簽庫(kù)技術(shù)的編譯型模板引擎,支持兩種類(lèi)型的模板標(biāo)簽,使用了動(dòng)態(tài)編譯和緩存技術(shù),而且支持自定義標(biāo)簽庫(kù)。其特點(diǎn)包括:

1)支持XML標(biāo)簽庫(kù)和普通標(biāo)簽的混合定義;

2)編譯一次,下次直接運(yùn)行而無(wú)需重新編譯;

3)模板文件更新后,自動(dòng)更新模板緩存;

4)自動(dòng)加載當(dāng)前操作的模板緩存文件,無(wú)需指定模板文件名稱(chēng);

5)支持編碼轉(zhuǎn)換和Content-Type 更換;

6)模板變量輸出前綴支持,避免變量名稱(chēng)沖突;

7)模板常量替換,無(wú)需設(shè)置模板變量;

8)支持變量組合調(diào)節(jié)器和格式化功能;

9)支持替換其它模板引擎插件使用;

10)支持獲取模板頁(yè)面內(nèi)容

3.內(nèi)置XML模板引擎,支持標(biāo)簽庫(kù)

4.富模型支持

1)聚合模型:

聚合模型是一種虛擬模型,用于把數(shù)據(jù)表的字段抽象話(huà),更加容易理解和操作。

我們可以把數(shù)據(jù)表中的某些屬性進(jìn)行數(shù)據(jù)封裝,這樣就把枯燥的數(shù)據(jù)表字段賦予更好的可讀性。

2)靜態(tài)模型:

靜態(tài)模型可以讓模型的數(shù)據(jù)靜態(tài)化,而不需要頻繁和數(shù)據(jù)庫(kù)打交道,可以用于不經(jīng)常不變的數(shù)據(jù)表。而且ThinkPHP在ORM層上面模擬實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的視圖功能,這是ThinkPHP獨(dú)創(chuàng)的一項(xiàng)技術(shù),使得多表的關(guān)聯(lián)查詢(xún)具有更高的效率和可操作性,而無(wú)需定義復(fù)雜的關(guān)聯(lián)關(guān)系,讓關(guān)聯(lián)關(guān)系更加淺顯易懂。

有些時(shí)候,數(shù)據(jù)表的數(shù)據(jù)一旦添加后就不再容易變化,我們更希望把這樣的模型數(shù)據(jù)靜態(tài)化,而不需要再次訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。ThinkPHP支持靜態(tài)模型的概念,一旦把模型設(shè)置為靜態(tài),那么會(huì)在第一次初始化的時(shí)候獲取數(shù)據(jù)表的全部數(shù)據(jù),并生成緩存,以后不會(huì)再連接數(shù)據(jù)庫(kù)。而只需要直接訪(fǎng)問(wèn)模型的dataList數(shù)據(jù)即可。

3)視圖模型

ThinkPHP在ORM模型里面模擬實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的視圖模型,該功能可以用于多表查詢(xún)。

要定義視圖對(duì)象,需要設(shè)置viewModel為true,然后設(shè)置viewFields屬性即可。

5.CURD和操作高度自動(dòng)化支持

ThinkPHP提供了靈活和方便的數(shù)據(jù)操作方法,不僅實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)操作的四大基本操作(CURD):創(chuàng)建、讀取、更新和刪除的實(shí)現(xiàn),還內(nèi)置了很多實(shí)用的數(shù)據(jù)操作方法,提供了ActiveRecords模式的最佳體驗(yàn)。

6.豐富的查詢(xún)語(yǔ)言支持

ThinkPHP大多數(shù)情況使用的都是對(duì)象查詢(xún),因?yàn)槌浞掷昧薕RM查詢(xún)語(yǔ)言,了解查詢(xún)條件的定義對(duì)使用對(duì)象查詢(xún)非常有幫助,對(duì)于復(fù)雜的查詢(xún),或者從安全方面考慮,可以使用HashMap對(duì)象或者索引數(shù)組來(lái)傳遞查詢(xún)條件。

7.目錄結(jié)構(gòu)自動(dòng)創(chuàng)建THINKPHPTHINKPHP

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è)置可寫(xiě)權(quán)限。

8.分布式數(shù)據(jù)庫(kù)支持

ThinkPHP的模型支持主從式數(shù)據(jù)庫(kù)的連接,配置DB_DEPLOY_TYPE 為1 可以采用分布式數(shù)據(jù)庫(kù)支持。

9.多數(shù)據(jù)庫(kù)連接和切換支持

如果需要在特殊的時(shí)候連接多個(gè)數(shù)據(jù)庫(kù),那么可以嘗試使用ThinkPHP的多數(shù)據(jù)庫(kù)連接特性:包括相同類(lèi)型的數(shù)據(jù)庫(kù)和不同類(lèi)型的數(shù)據(jù)庫(kù)。(注意:所謂的相同類(lèi)型數(shù)據(jù)庫(kù)的定義是指和項(xiàng)目配置文件或者模型的數(shù)據(jù)庫(kù)連接的數(shù)據(jù)庫(kù)類(lèi)型相同。)

10.ActiveRecords模式和豐富的ROR特性

ThinkPHP實(shí)現(xiàn)了ActiveRecords模式的ORM模型,采用了非標(biāo)準(zhǔn)的ORM模型:表映射到類(lèi),記錄(集)映射到對(duì)象,字段屬性映射到對(duì)象的虛擬屬性。最大的特點(diǎn)就是使用方便,從而達(dá)到敏捷開(kāi)發(fā)的目的。

11.靈活簡(jiǎn)單的項(xiàng)目配置

ThinkPHP提供了靈活的配置功能,采用最有效率的PHP返回?cái)?shù)組方式定義,支持慣例配置、項(xiàng)目配置、調(diào)試配置和模塊配置,并且會(huì)自動(dòng)生成配置緩存文件,無(wú)需重復(fù)解析的開(kāi)銷(xiāo)。對(duì)于有些簡(jiǎn)單的應(yīng)用,你無(wú)需配置任何配置文件,而對(duì)于復(fù)雜的要求,你還可以增加模塊配置文件,另外ThinkPHP的動(dòng)態(tài)配置使得你在開(kāi)發(fā)過(guò)程中可以靈活的調(diào)整配置參數(shù)。

ThinkPHP在項(xiàng)目配置上面創(chuàng)造了自己獨(dú)有的分層配置模式,其配置層次體現(xiàn)在:慣例配置--> 項(xiàng)目配置--> 模塊配置--> 操作(動(dòng)態(tài))配置,優(yōu)先順序從右到左(在沒(méi)有生效的前提下)。

12.模型自動(dòng)驗(yàn)證和處理

THINKPHPTHINKPHP

系統(tǒng)內(nèi)置了數(shù)據(jù)對(duì)象的自動(dòng)驗(yàn)證功能,而大多數(shù)情況下面,數(shù)據(jù)對(duì)象是由表單提交的$_POST數(shù)據(jù)創(chuàng)建。需要使用系統(tǒng)的自動(dòng)驗(yàn)證功能,只需要在Model類(lèi)里面定義$_validate屬性,是由多個(gè)驗(yàn)證因子組成的數(shù)組,支持的驗(yàn)證因子格式:驗(yàn)證字段,驗(yàn)證規(guī)則,錯(cuò)誤提示,驗(yàn)證條件,附加規(guī)則,驗(yàn)證時(shí)間。

13.靜態(tài)頁(yè)面生成和多元化緩存機(jī)制

ThinkPHP內(nèi)置了靜態(tài)緩存的功能,并且支持靜態(tài)緩存的規(guī)則定義。要使用靜態(tài)緩存功能,需要開(kāi)啟HTML_CACHE_ON 參數(shù),并且在項(xiàng)目配置目錄下面增加靜態(tài)緩存規(guī)則文件 htmls.php。

14.豐富的數(shù)據(jù)庫(kù)及PDO支持

15.SEO和URL路由支持

16.AJAX支持

17.易擴(kuò)展的系統(tǒng)基類(lèi)庫(kù)

系統(tǒng)基類(lèi)庫(kù)

ThinkPHP框架通過(guò)基類(lèi)庫(kù)的概念把所有系統(tǒng)類(lèi)庫(kù)都集成在一起,包括ThinkPHP的核心類(lèi)庫(kù)。

目前的基類(lèi)庫(kù)分成Think核心類(lèi)庫(kù)、ORG 擴(kuò)展類(lèi)庫(kù),在這主要介紹的是核心基類(lèi)庫(kù),核心基類(lèi)庫(kù)的作用是完成框架的通用性開(kāi)發(fā)而必須的基礎(chǔ)類(lèi)和常用工具類(lèi)等,包含有:

Think.Core 核心類(lèi)庫(kù)包

Think.Db 數(shù)據(jù)庫(kù)類(lèi)庫(kù)包

Think.Util 系統(tǒng)工具類(lèi)庫(kù)包

Think.Template 內(nèi)置模板引擎類(lèi)庫(kù)包

Think.Exception 異常處理類(lèi)庫(kù)包 函數(shù)庫(kù)

ThinkPHP內(nèi)置了一個(gè)系統(tǒng)公共函數(shù)庫(kù),提供了一些系統(tǒng)需要的函數(shù),系統(tǒng)函數(shù)庫(kù)位于ThinkPHP的Common目錄下面,名稱(chēng)為functions.php。

每個(gè)項(xiàng)目可以定義自己的函數(shù)庫(kù),位于項(xiàng)目的Common目錄下面的common.php文件。

如果項(xiàng)目在Common目錄下面有定義自己的common.php文件,框架會(huì)在初始化的時(shí)候自動(dòng)導(dǎo)入,而無(wú)需自己導(dǎo)入。

匹配導(dǎo)入

Import方法是ThinkPHP內(nèi)建的類(lèi)庫(kù)和文件導(dǎo)入方法,提供了方便和靈活的類(lèi)似于命名空間的文件導(dǎo)入機(jī)制。

18.自動(dòng)編碼轉(zhuǎn)換

ThinkPHP框架的文件全部采用UTF-8編碼格式,UTF-8的支持和自動(dòng)輸出編碼轉(zhuǎn)換的功能讓頁(yè)面表現(xiàn)更加靈活。您可以配置輸出的頁(yè)面編碼格式,如gb2312等(默認(rèn)采用UTF-8輸出)。系統(tǒng)根據(jù)配置文件中設(shè)置的編碼格式自動(dòng)對(duì)頁(yè)面進(jìn)行編碼轉(zhuǎn)換,支持iconv和mb_string兩種方式,為了提高效率,如果系統(tǒng)的模板編碼設(shè)置和輸出編碼設(shè)置項(xiàng)相同,則不會(huì)進(jìn)行編碼轉(zhuǎn)換。ThinkPHP可以設(shè)置模板編碼、輸出編碼和數(shù)據(jù)庫(kù)編碼,并自動(dòng)完成轉(zhuǎn)換工作,讓你的應(yīng)用不再受編碼的苦惱。

19.組件和插件支持

20.基于角色的權(quán)限控制體系

企業(yè)級(jí)的應(yīng)用是離不開(kāi)安全保護(hù)的,ThinkPHP以基于Spring的Acegi安全系統(tǒng)作為參考原型,并做了簡(jiǎn)化,以適合目前的ThinkPHP結(jié)構(gòu),提供了一個(gè)多層的、可定制的安全體系來(lái)為應(yīng)用開(kāi)發(fā)提供安全控制。安全體系中主要有: 安全攔截器、認(rèn)證管理器、決策訪(fǎng)問(wèn)管理器 、運(yùn)行身份管理器。

21.詳盡的開(kāi)發(fā)指南和全中文注釋

折疊 編輯本段 更新記錄

折疊 編輯本段 [5.0RC1版本]2015-12-11

[ 底層架構(gòu) ]

真正的惰性加載

核心類(lèi)庫(kù)組件化

完美路由設(shè)計(jì)

框架引導(dǎo)文件

采用Traits擴(kuò)展

API友好

文件命名規(guī)范調(diào)整

Composer自動(dòng)加載支持

Console模式

 [ 路由 ]

動(dòng)態(tài)注冊(cè)路由規(guī)則

支持路由到任意類(lèi)的方法

域名綁定

資源路由支持

自定義路由檢測(cè)方法

路由前后置行為

路由分組

變量規(guī)則(包括全局和局部)

閉包支持

URL生成支持路由解析反轉(zhuǎn)

支持路由到多層控制器

 [ 調(diào)試和異常 ]

專(zhuān)為API開(kāi)發(fā)而設(shè)計(jì)的輸出、調(diào)試和異常處理

SocketLog整合實(shí)現(xiàn)遠(yuǎn)程瀏覽器插件調(diào)試

內(nèi)置trace方法直接遠(yuǎn)程調(diào)試

數(shù)據(jù)庫(kù)SQL性能分析支持

 [ 控制器 ]

控制器類(lèi)無(wú)需繼承controller類(lèi)

靈活的多層控制器支持

可以Traits引入高級(jí)控制器功能

控制器rest/yar/rpc/hprose/jsonrpc擴(kuò)展

前置操作方法支持排除和指定操作

控制器操作方法統(tǒng)一return設(shè)計(jì)

 [ 模型 ]

簡(jiǎn)化的核心模型

Traits引入高級(jí)模型/視圖模型/關(guān)聯(lián)模型

主從分布時(shí)候主數(shù)據(jù)庫(kù)讀操作支持

改進(jìn)的join方法和order方法

 [ 視圖 ]

視圖解析驅(qū)動(dòng)設(shè)計(jì)(模板引擎)

所有方法不再直接輸出而是返回交由系統(tǒng)統(tǒng)一輸出處理

動(dòng)態(tài)切換模板主題

動(dòng)態(tài)切換模板引擎

 [ 數(shù)據(jù)庫(kù) ]

完全基于PDO實(shí)現(xiàn)

簡(jiǎn)化的數(shù)據(jù)庫(kù)驅(qū)動(dòng)設(shè)計(jì)

SQL性能監(jiān)控(需要開(kāi)啟數(shù)據(jù)庫(kù)調(diào)試模式)

 [ 其他方面 ]

目錄和MVC文件自動(dòng)生成支持

I函數(shù)默認(rèn)添加變量修飾符為/s

一個(gè)行為類(lèi)里面支持為多個(gè)標(biāo)簽位定義不同的方法

[3.2.3 版本] 2014-12-24[1]

 [ 數(shù)據(jù)庫(kù)方面 ]

 數(shù)據(jù)庫(kù)驅(qū)動(dòng)完全用PDO重寫(xiě);
        
支持通用insertAll方法;
       
 改進(jìn)參數(shù)綁定機(jī)制;
        
主從分布式數(shù)據(jù)庫(kù)連接改進(jìn);
       
 對(duì)Mongo的支持更加完善;

 [ 模型方面 ]

模型類(lèi)的諸多增強(qiáng)和改進(jìn);
       
增加聚合模型擴(kuò)展;
       
支持復(fù)合主鍵;
      
 多表操作的支持完善;
       
模型的CURD操作支持僅獲取SQL語(yǔ)句而不執(zhí)行;
       
增加using/index/fetchSql/strict/token連貫操作方法;
       
模型類(lèi)的setInc和setDec方法支持延遲寫(xiě)入;

[ 安全方面 ]

I函數(shù)增加變量修飾符和正則檢測(cè)支持;
     
  支持全局變量過(guò)濾和Action參數(shù)綁定的變量過(guò)濾;
       
修正可能的SQL注入漏洞;

[ 其它方面 ]

支持全局路由定義;
       
增加插件控制器支持;
     
 增加對(duì)全局和模塊的模板路徑的靈活設(shè)置;
       
日志目錄分模塊存放;
     
 增加memcache Session驅(qū)動(dòng);
     
 改進(jìn)session函數(shù)的數(shù)組操作;
       
修正一系列存在的問(wèn)題;

[新增]

[新增] 增加index連貫操作方法,用于數(shù)據(jù)集的強(qiáng)制索引操作

[新增] Model類(lèi)增加using連貫操作用于多表操作

[新增] 增加strict連貫操作,用于設(shè)置數(shù)據(jù)寫(xiě)入和查詢(xún)是否嚴(yán)格檢查是否存在字段 默認(rèn)情況下 不合法數(shù)據(jù)字段自動(dòng)刪除,如果設(shè)置了嚴(yán)格檢查則會(huì)拋出異常。 例如: $model->strict(true)->add($data);

[新增] 增加fetchSql連貫操作

[新增] 添加yaml_parse_file()函數(shù),解析yaml文件返回一個(gè)數(shù)組

[新增] 增加memcache Session驅(qū)動(dòng)

[新增] 增加聚合模型,方便一對(duì)一的關(guān)聯(lián)數(shù)據(jù)表操作

[新增] 新增TMPL_PATH常量支持 可以全局改版模板目錄到模塊目錄之外

[新增] 增加Lite模式Db類(lèi),僅支持原生SQL操作

[新增] 數(shù)據(jù)庫(kù)調(diào)試增加單獨(dú)的配置參數(shù) DB_DEBUG(如未設(shè)置依然取調(diào)試模式常量 APP_DEBUG)

[新增] 新增框架核心葡萄牙語(yǔ)言包

[新增] 增加COOKIE_SECURE和COOKIE_HTTPONLY配置參數(shù)

[新增] MySQL驅(qū)動(dòng)增加ON DUPLICATE KEY UPDATE功能

[改進(jìn)]

[改進(jìn)] Db類(lèi)和數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)完全基于PDO重寫(xiě)

[改進(jìn)] 添加全局過(guò)濾機(jī)制(默認(rèn)關(guān)閉)

[改進(jìn)] I函數(shù)增加修飾符功能和正則檢測(cè)支持

[改進(jìn)] 采用主從分布式數(shù)據(jù)庫(kù)時(shí),從數(shù)據(jù)庫(kù)連接失敗自動(dòng)連接主服務(wù)器

[改進(jìn)] 增加Model類(lèi)對(duì)復(fù)合主鍵的支持

[改進(jìn)] 改進(jìn)Mongo模型和驅(qū)動(dòng)類(lèi),使用更加方便

[改進(jìn)] 改進(jìn)session函數(shù)刪除操作支持?jǐn)?shù)組

[改進(jìn)] 改進(jìn)session函數(shù)對(duì)多維賦值的支持

[改進(jìn)] 改進(jìn)數(shù)據(jù)庫(kù)字段緩存的文件標(biāo)識(shí) 加上數(shù)據(jù)表前綴,避免不同前綴的表產(chǎn)生混淆

[改進(jìn)] 針對(duì)數(shù)據(jù)庫(kù)視圖無(wú)主鍵的問(wèn)題,使用默認(rèn)id作為主鍵,與未開(kāi)啟DB_FIELDS_CACHE時(shí)行為一致

[改進(jìn)] SAE模式慣例配置增加上傳驅(qū)動(dòng)設(shè)置

[改進(jìn)] 改進(jìn)參數(shù)綁定機(jī)制

[改進(jìn)] 確保使用參數(shù)綁定后日志中生成sql語(yǔ)句的準(zhǔn)確性

[改進(jìn)] 模型類(lèi)的setInc和setDec方法支持延遲寫(xiě)入,同時(shí)取消高級(jí)模型的相關(guān)方法

[改進(jìn)] 日志寫(xiě)入的時(shí)候自動(dòng)創(chuàng)建目錄

[改進(jìn)] 改進(jìn)SQL緩存

[改進(jìn)] 優(yōu)化緩存隊(duì)列功能

[改進(jìn)] 路由的請(qǐng)求類(lèi)型定義不區(qū)分大小寫(xiě)

[改進(jìn)] 數(shù)據(jù)庫(kù)驅(qū)動(dòng)增加通用insertAll方法支持

[改進(jìn)] 完善 url的驗(yàn)證正則

[改進(jìn)] 單字母函數(shù)返回值類(lèi)型修正以及一些拼寫(xiě)錯(cuò)誤修正

[改進(jìn)] 自動(dòng)創(chuàng)建模型模塊的父目錄 直接調(diào)用\Think\Build::buildController和buildModel的情況下創(chuàng)建目錄

[改進(jìn)] 日志驅(qū)動(dòng)增加自動(dòng)目錄創(chuàng)建支持

[改進(jìn)] 自動(dòng)生成的目錄結(jié)構(gòu)增加模塊的緩存目錄

[改進(jìn)] mysql存儲(chǔ)過(guò)程支持完善

[改進(jìn)] Db類(lèi)改進(jìn)對(duì)多表更新和刪除的支持,多表刪除支持USING和JOIN操作

[改進(jìn)] 改進(jìn)parseLock的位置

[改進(jìn)] Db類(lèi)的update和delete方法增加多表操作的支持

[改進(jìn)] 改進(jìn)CURD操作 可以直接返回sql語(yǔ)句而不真正執(zhí)行。 

[改進(jìn)] 插件控制器的命名空間可定義 不再局限于模塊下面 增加 ADDON_PATH 用于定義插件目錄 默認(rèn)位于 應(yīng)用目錄下面的Addon

[改進(jìn)] 改進(jìn)靜態(tài)緩存讀取的有效判斷對(duì)sae的支持

[改進(jìn)] 日志目錄分模塊

[改進(jìn)] 模型類(lèi)的getField方法改進(jìn) 支持在字段名中使用函數(shù)

[改進(jìn)] 改進(jìn)Db類(lèi)的parseWhere方法

[改進(jìn)] 改進(jìn)模型的page和limit方法 改進(jìn)分頁(yè)類(lèi)

[改進(jìn)] 改進(jìn)配置文件自動(dòng)生成

[改進(jìn)] 完善ShowPageTraceBehavior一處函數(shù)調(diào)用大小寫(xiě)規(guī)范

[改進(jìn)] U函數(shù)支持多級(jí)控制器

[改進(jìn)] send_http_status函數(shù)增加狀態(tài)

[改進(jìn)] 允許在項(xiàng)目中定義 __APP__ 常量

[改進(jìn)] 改進(jìn)定義TMPL_PATH后的模板路徑定義

[改進(jìn)] Image類(lèi)的imagick驅(qū)動(dòng)save方法增加quality參數(shù) 用于圖片質(zhì)量設(shè)置,默認(rèn)值為80

[改進(jìn)] 改進(jìn)Image類(lèi)的JPEG圖片生成質(zhì)量

[改進(jìn)] Gd庫(kù)驅(qū)動(dòng)類(lèi)改進(jìn)

[改進(jìn)] 改進(jìn)T函數(shù)對(duì)TMPL_PATH常量定義的支持

[改進(jìn)] 改進(jìn)I函數(shù)對(duì)path.0的支持

[改進(jìn)] 改進(jìn)關(guān)聯(lián)模型

[改進(jìn)] 改進(jìn)dispatch_jump模板

[改進(jìn)] 更新api模式支持配置文件的后綴定義

[改進(jìn)] 改進(jìn)Model類(lèi)的getModelName方法對(duì)多層模型的支持

[改進(jìn)] 改進(jìn)cookie函數(shù)對(duì)secure和httponly的支持

[改進(jìn)] 改進(jìn)模板標(biāo)簽對(duì)命名空間的支持,寫(xiě)法 {$var|Org\\Util\\String::rand}

[改進(jìn)] 改進(jìn)數(shù)據(jù)表自動(dòng)識(shí)別規(guī)則正則規(guī)則 可以正確識(shí)別帶有數(shù)字的數(shù)據(jù)表

[改進(jìn)] Model類(lèi)的cache方法使用改進(jìn) cache(10) 等同于 cache(true, 10)

[修正]

[修正] 修正ShowRuntime行為擴(kuò)展

[修正] 修正Model類(lèi)的add和addall方法中的_facade和_parseOptions的調(diào)用順序問(wèn)題

[修正] 修正使用數(shù)組方式動(dòng)態(tài)指定表名后的BUG

[修正] 修正ChromShowPage行為擴(kuò)展

[修正] 修正自定義公共模塊路徑時(shí),加載公共模塊類(lèi)庫(kù)失敗

[修正] 修正參數(shù)綁定的一處判斷

[修正] 解決PDO參數(shù)綁定后的獲取最終SQL語(yǔ)句問(wèn)題

[修正] 修正開(kāi)啟布局后show方法的問(wèn)題

[修正] 解決調(diào)用trace()無(wú)法返回trace日志問(wèn)題

[修正] 修復(fù)mongo出現(xiàn)錯(cuò)誤輸出的問(wèn)題

[修正] 修正頁(yè)面Trace的日志保存

[修正] 修正Model類(lèi)的save方法

[修正] 修正令牌驗(yàn)證沒(méi)有設(shè)置TOKEN_NAME的問(wèn)題

[修正] 修復(fù)RestController中請(qǐng)求資源類(lèi)型總是為html的bug

[修正] 修正Model類(lèi)的getField方法的一處變量沖突問(wèn)題

[修正] 修正Mongo驅(qū)動(dòng)的page處理

[修正] 修正 extract方法 在分解變量的時(shí)候 可能導(dǎo)致變量被覆蓋的問(wèn)題

[修正] 修正Imagick類(lèi)庫(kù)

[修正] 修正頁(yè)面trace插件開(kāi)啟PAGE_TRACE_SAVE后出錯(cuò)的問(wèn)題

[修正] 修正controller方法 對(duì)不使用命名空間的支持

[修正] 修正Image類(lèi)的save方法支持圖片質(zhì)量

[修正] 修正高級(jí)模型的樂(lè)觀(guān)鎖功能

[修正] 修正I函數(shù)通過(guò)FILTER_VALIDATE_EMAIL方式傳入常量過(guò)濾的一處錯(cuò)誤 并且過(guò)濾參數(shù)支持?jǐn)?shù)組

[修正] 修正GIF類(lèi)的架構(gòu)函數(shù)

[修正] Cache類(lèi)一處常量錯(cuò)誤修正

[修正] 修改自動(dòng)生成的配置文件支持CONF_EXT定義

[刪除]

去掉多余的URL_404_REDIRECT配置參數(shù)

[1.0.4 版本] 2008-5-16

修正關(guān)聯(lián)寫(xiě)入和數(shù)據(jù)字段過(guò)濾的沖突

修正哈希子目錄緩存方式

模塊配置文件命名改為:模塊名+_config.php

修正Compare標(biāo)簽

修正CX標(biāo)簽庫(kù)的判斷標(biāo)簽

修正模板引擎的IF標(biāo)簽的條件BUG

修改多數(shù)據(jù)庫(kù)連接和切換機(jī)制 取消addConnect方法的eqType參數(shù),避免了因來(lái)回切換的時(shí)候的錯(cuò)誤

修正Db緩存和Sqlite緩存的數(shù)據(jù)過(guò)期判斷

增加項(xiàng)目配置檢測(cè),如果項(xiàng)目配置文件發(fā)生修改 則重新生成編譯項(xiàng)目緩存

增加跳轉(zhuǎn)頁(yè)面模板和404模板配置配置方式和Action類(lèi)的display方法templateFile參數(shù)一致,默認(rèn)配置: 'ACTION_JUMP_TMPL'=> 'Public:success', 'ACTION_404_TMPL'=> 'Public:404'

Action類(lèi)增加404操作方法頁(yè)面跳轉(zhuǎn)操作和404操作支持模板文件配置

修正html標(biāo)簽庫(kù)的link和import標(biāo)簽

增加數(shù)據(jù)查詢(xún)的IS NULL 和 IS NOT NULL支持

修正連貫操作的一些警告錯(cuò)誤

完善join分析 支持left right等方式

修正模板引擎在開(kāi)啟短標(biāo)簽的情況下無(wú)法正常輸出xml標(biāo)識(shí)的問(wèn)題

修正ORG.Date.Date類(lèi)的maxDayOfMonth方法

完善多數(shù)據(jù)庫(kù)連接的切換

修改命令行自動(dòng)創(chuàng)建工具build

修正連貫操作的field方法的判斷錯(cuò)誤

修正Db類(lèi)的一處where條件判斷的小問(wèn)題

rand_string加上中文隨機(jī)字符串生成

修正兼容方法json_encode對(duì)布爾值的判斷

修正ArrayList類(lèi)的addall方法

修正max min avg sum等查詢(xún)方法返回浮點(diǎn)型數(shù)據(jù)錯(cuò)誤的問(wèn)題

修正數(shù)組方式查詢(xún)的自己使用Like問(wèn)題

iterate標(biāo)簽增加mod屬性 用于計(jì)算循環(huán)變量的取模替換原來(lái)的odd屬性

增加Input類(lèi),用于輸入數(shù)據(jù)管理

刪除已經(jīng)廢棄的目錄檢查插件

優(yōu)化模板引擎解析 避免多次實(shí)例化模板解析類(lèi)并簡(jiǎn)化模板解析類(lèi)的寫(xiě)法 去掉架構(gòu)方法定義

修改mobile驗(yàn)證的正則

增加了分頁(yè)類(lèi)關(guān)于負(fù)數(shù)的判斷

部分CX標(biāo)簽的屬性可以支持特殊模板變量

F方法生成的文件會(huì)自動(dòng)加上THINK_PATH判斷 避免直接執(zhí)行

取消了當(dāng)指定模塊和操作不存在的時(shí)候執(zhí)行默認(rèn)模塊和默認(rèn)操作,由用戶(hù)自己定義空模塊和空操作來(lái)處理。

增加了連貫操作的data方法,用于指定要操作的數(shù)據(jù)

去掉了已經(jīng)廢棄的三個(gè)配置參數(shù) DB_CACHE_ON DB_CACHE_TIME DB_CACHE_MAX

增加表單提交的MAGIC_QUOTES_GPC判斷

model類(lèi)的query和execute方法支持使用__TABLE__字符串系統(tǒng)會(huì)自動(dòng)替換成當(dāng)前模型對(duì)應(yīng)的表名

調(diào)整了空操作和直接判斷模板文件的順序空操作優(yōu)先執(zhí)行

修正Cookie類(lèi)支持關(guān)閉瀏覽器就失效的情況設(shè)置COOKIE_EXPIRE為0或者空字符串或者在使用的時(shí)候傳遞參數(shù)0 Cookie::set($name,$value,0);

項(xiàng)目編譯緩存文件也加上是否去掉注釋的開(kāi)關(guān)

[1.0.3 版本] 2008-3-16

增加空模塊支持 如果指定的模塊不存在會(huì)首先定位是否存在Empty模塊

增加核心編譯文件的去除空白和注釋的開(kāi)關(guān),在入口文件定義 STRIP_RUNTIME_SPACE 常量為false 可以關(guān)閉去除空白和注釋

Action緩存由原來(lái)的userCache成員屬性控制改為項(xiàng)目參數(shù) ACTION_CACHE_ON 控制,便于動(dòng)態(tài)控制

增加數(shù)據(jù)庫(kù)字段緩存的開(kāi)關(guān) 慣例配置增加DB_FIELDS_CACHE 用以設(shè)置數(shù)據(jù)庫(kù)字段是否緩存,默認(rèn)進(jìn)行緩存

修正xcache和sqlite緩存方式的讀寫(xiě)次數(shù)記錄

使用視圖模型的時(shí)候,如果主鍵是id,不需要再定義getPk方法

修正多語(yǔ)言和多模板的cookie問(wèn)題

入口文件免設(shè)置APP_NAME APP_PATH

完善Cookie類(lèi)

修正模板檢查的時(shí)候組件化的支持

模型類(lèi)的查詢(xún)操作支持連貫方法

去掉了一些廢棄的慣例配置參數(shù) 包括:DATA_CACHE_ON 和 DATA_CACHE_MAX

慣例配置增加了DATA_CACHE_SUBDIR 參數(shù)控制文件緩存方式是否自動(dòng)使用子目錄哈希緩存

在項(xiàng)目根目錄不存在的情況下自動(dòng)創(chuàng)建

完善對(duì)跨庫(kù)查詢(xún)的支持

目錄自動(dòng)創(chuàng)建支持寫(xiě)入安全文件

[ 1.0.2 ] 2008-2-21

Model類(lèi)增加toArray方法

修正因Log類(lèi)的改動(dòng)導(dǎo)致Trace錯(cuò)誤信息無(wú)法正常顯示的問(wèn)題

數(shù)據(jù)查詢(xún)返回的數(shù)據(jù)集由ArrayObject對(duì)象改成數(shù)組

修正Model類(lèi)的create方法在定義字段映射的下面的bug

修正虛擬模型下面create方法的bug

Model類(lèi)的facade方法增加數(shù)據(jù)表字段的檢測(cè)

優(yōu)化Image類(lèi)的showAdvVerify方法

修正標(biāo)簽庫(kù)的compare標(biāo)簽

Trace配置文件由原來(lái)的_trace.php更名為trace.php

項(xiàng)目調(diào)試配置文件由原來(lái)的_debug.php更名為debug.php

項(xiàng)目配置文件由原來(lái)的_config.php更名為config.php

路由定義文件由原來(lái)的_routes.php 更名為 routes.php

靜態(tài)定義文件由原來(lái)的_htmls.php 更名為 htmls.php

Model類(lèi)的create方法無(wú)需type參數(shù),自動(dòng)判斷新增和編輯模型數(shù)據(jù)

增加第一次運(yùn)行目錄自動(dòng)生成功能(只需要定義入口文件)

默認(rèn)項(xiàng)目編譯緩存目錄為T(mén)emp目錄

[ 1.0.1 ] 2008-2-2

修正Db類(lèi)在Oracle下面的parseLimit方法判斷

優(yōu)化數(shù)據(jù)庫(kù)驅(qū)動(dòng)類(lèi)的查詢(xún)結(jié)果獲取

Model 類(lèi)增加字段的表達(dá)式插入和更新支持

完善了Db類(lèi)的條件查詢(xún)字段中帶有空格的處理

Model類(lèi)增加了delConnect方法用于刪除動(dòng)態(tài)增加的數(shù)據(jù)庫(kù)連接

增強(qiáng)了分布式數(shù)據(jù)庫(kù)的支持 可以設(shè)置是否需要讀寫(xiě)分離

Model類(lèi)增加智能切換功能 switchConnect方法可以自動(dòng)識(shí)別是否是相同的數(shù)據(jù)庫(kù)連接類(lèi)型

增加了組件模塊的URL分割定義配置 COMPONENT_DEPR 包括對(duì)操作鏈的設(shè)置采用相同的參數(shù)定義

修正Model類(lèi)的count等統(tǒng)計(jì)方法會(huì)自動(dòng)緩存的問(wèn)題 DB類(lèi)默認(rèn)關(guān)閉查詢(xún)緩存

修正RBAC組件的權(quán)限判斷

修正組件模塊方式下面的模板文件../Public的替換

修正Html標(biāo)簽庫(kù)的list標(biāo)簽的actionlist屬性的支持

修正PDO類(lèi)在某些數(shù)據(jù)庫(kù)下面的getAll方法的BUG

增加核心緩存文件的開(kāi)關(guān)功能 在入口文件里面設(shè)置 CACHE_RUNTIME 為 false

修正了使用組件模塊的時(shí)候模板文件中__URL__的解析問(wèn)題

修正模板和語(yǔ)言的切換cookie

Model類(lèi)增加addConnect和switchConnect方法 用于支持多數(shù)據(jù)庫(kù)的連接

修正了語(yǔ)言包的緩存導(dǎo)致切換語(yǔ)言無(wú)效的問(wèn)題

Db類(lèi)增加多數(shù)據(jù)庫(kù)連接的內(nèi)置支持

修正Model類(lèi)在某些數(shù)據(jù)庫(kù)下面where條件表達(dá)式不支持where 1 的情況

Db類(lèi)增加getLastSql方法用于獲取最后一次查詢(xún)的sql語(yǔ)句

完善Log類(lèi)的操作以及優(yōu)化錯(cuò)誤日志的寫(xiě)入

修正model的數(shù)據(jù)庫(kù)連接配置讀取

在Ajax返回之前保存日志記錄

完善compare標(biāo)簽

改進(jìn)Vendor函數(shù)的baseUrl參數(shù)定義

改進(jìn)項(xiàng)目語(yǔ)言包的定義 不同語(yǔ)言分成不同子目錄

簡(jiǎn)化了query方法的數(shù)據(jù)庫(kù)緩存

增加clearCache方法,用于清空項(xiàng)目相關(guān)緩存目錄

增加firebird數(shù)據(jù)庫(kù)驅(qū)動(dòng)支持

修正pgsql驅(qū)動(dòng)

修正~app.php 文件的編譯緩存路徑的問(wèn)題

增加編譯緩存路徑的設(shè)置 RUNTIME_PATH

[ 1.0.0 ] 2007-12-25

優(yōu)化了執(zhí)行效率和內(nèi)存開(kāi)銷(xiāo)

Import方法增加同名檢測(cè)和類(lèi)檢測(cè)

完善PHP 5.2.0以下版本的支持

去掉了核心對(duì)Config、Language、Cookie和Session類(lèi)庫(kù)的依賴(lài)

去掉了Action類(lèi)內(nèi)置的默認(rèn)操作

改進(jìn)了MySqli的驅(qū)動(dòng)類(lèi)庫(kù)

修正了主鍵不是自動(dòng)增長(zhǎng)的時(shí)候Model的add方法返回錯(cuò)誤

修正了mysqli的escape_string方法

修正了PDO的連接params參數(shù)問(wèn)題

修正了Model的findAll的關(guān)聯(lián)查詢(xún)問(wèn)題

修正了Model類(lèi)的getModelName方法問(wèn)題

修正了RBAC的模塊大小寫(xiě)設(shè)置

去掉volist resultset標(biāo)簽,均作為iterate標(biāo)簽的別名

增加了項(xiàng)目編譯機(jī)制和核心類(lèi)庫(kù)編譯機(jī)制

標(biāo)簽庫(kù)定義增加標(biāo)簽的別名定義

XML模版結(jié)束標(biāo)簽增加對(duì)空格的支持

增加compare標(biāo)簽和eq neq gt egt lt elt heq 和nheq標(biāo)簽別名

增加了多模版和多語(yǔ)言的開(kāi)關(guān)

RBAC認(rèn)證增加了操作的認(rèn)證設(shè)置,之前只支持模塊的認(rèn)證設(shè)置

折疊 編輯本段 新手學(xué)習(xí)

一個(gè)好的框架還要配合好的學(xué)習(xí)路線(xiàn),就如同去旅游一樣要選擇好的旅游線(xiàn)路。雖然學(xué)習(xí)這個(gè)東西沒(méi)有定式,完全看個(gè)人情況,但是我還是盡可能可以總結(jié)出一些推薦的學(xué)習(xí)路線(xiàn),希望可以適用大多數(shù)的TP初學(xué)者。如果你還不會(huì)PHP,推薦先進(jìn)行PHP基礎(chǔ)編程學(xué)習(xí)。

路線(xiàn)一(針對(duì)會(huì)使用PHP開(kāi)發(fā)的新手)

1、查看TP的功能特性和典型應(yīng)用(知道Tp的優(yōu)勢(shì)和用途 官方首頁(yè) 案例中心 )

2、查看在線(xiàn)示例中心的例子(大概有個(gè)感性認(rèn)識(shí) 示例中心 )

3、查看官方提供的快速入門(mén)文檔(從基本開(kāi)始)

4、下載完整包運(yùn)行調(diào)試自帶的示例中心研究(了解代碼 最新下載 )

5、去官方論壇提問(wèn)(針對(duì)示例不解或者有問(wèn)題的地方)

6、自己嘗試做一些簡(jiǎn)單例子(鞏固和消化)

7、閱讀官方首頁(yè)提供的其他文檔(心中開(kāi)朗)

8、改進(jìn)自己的例子(看完指南后體驗(yàn)新功能)

9、有把握開(kāi)始做項(xiàng)目(真正實(shí)踐)

10、遇到問(wèn)題查閱官方API手冊(cè)或者論壇提問(wèn)

11、到官方論壇匯報(bào)BUG和建議

12、到論壇分享你的經(jīng)驗(yàn)

13、有時(shí)間了多看看TP的源碼

14、給TP貢獻(xiàn)代碼和類(lèi)庫(kù)(學(xué)習(xí)的成果)

幾個(gè)學(xué)習(xí)守則

欲速則不達(dá),踏實(shí)進(jìn)取

戒驕戒躁、把握心態(tài)

文檔很難全面官方論壇是你學(xué)習(xí)交流的最好地方

實(shí)踐出真知

折疊 編輯本段 版本發(fā)布日期

ThinkPHP發(fā)展歷程,無(wú)數(shù)TPer一起見(jiàn)證了ThinkPHP的成長(zhǎng):

2006年01月15日,ThinkPHP的雛形版本FCS0.6.0發(fā)布;

2006年02月12日,(元霄節(jié))發(fā)布FCS 0.6.1 版本,Google討論組成立;

2006年03月15日,F(xiàn)CS 0.7.0版本發(fā)布;

2006年05月07日,F(xiàn)CS 0.8版本發(fā)布;

2006年10月25日,F(xiàn)CS 0.9.0版本發(fā)布;

2006年12月25日,SF項(xiàng)目和Google網(wǎng)站ThinkPHP項(xiàng)目申請(qǐng)完成;

2007年01月01日,F(xiàn)CS正式更名為T(mén)hinkPHP;

2007年01月08日,ThinkPHP 0.9.5版發(fā)布同期官方網(wǎng)站開(kāi)通;

2007年02月21日,TOPThink社區(qū)暨新版ThinkPHP官方網(wǎng)站開(kāi)通,并提供社區(qū)支持;

2007年02月25日,發(fā)布ThinkPHP 0.9.6版本,完成FCS到ThinkPHP的正式遷移;

2007年04月29日,ThinkPHP發(fā)布0.9.7版本;

2007年07月01日,ThinkPHP發(fā)布0.9.8版本;

2007年10月15日,ThinkPHP發(fā)布1.0.0RC1版本,完成PHP5的重構(gòu);

2007年12月15日,ThinkPHP發(fā)布1.0.0正式版本標(biāo)志著ThinkPHP步入軌道;

2008年10月01日,ThinkPHP發(fā)布1.0.3正式版本;

2008年12月25日,ThinkPHP發(fā)布1.5正式版本并啟動(dòng)商業(yè)化支持服務(wù),ThinkPHP進(jìn)入穩(wěn)定發(fā)展;

2009年05月01日,ThinkPHP 發(fā)布1.6.0RC1版本;

2009年10月01日,ThinkPHP發(fā)布2.0版本完成新的重構(gòu)和飛躍,這是一次劃時(shí)代的版本;

2012年04月05日,ThinkPHP發(fā)布3.0版本 慶祝ThinkPHP發(fā)布6周年;

2012年10月08日,ThinkPHP發(fā)布3.1版本;

2012年11月11日,ThinkPHP3.1.2擴(kuò)展包;

2013年05月09日,ThinkPHP發(fā)布3.1.3完整版;

2013年12月18日,ThinkPHP發(fā)布3.2正式版;

2014年10月31日,ThinkPHP發(fā)布3.2.2完整版 ;

2014年12月24日,ThinkPHP發(fā)布3.2.3完整版;

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    九九热在线视频精品免费| 国产欧美一区二区久久| 欧美熟妇一区二区在线| 激情图日韩精品中文字幕| 欧洲偷拍视频中文字幕| 久热香蕉精品视频在线播放| 国产精品亚洲一区二区| 91人妻人人揉人人澡人| 欧美国产日产综合精品| 国产精品九九九一区二区| 国产传媒欧美日韩成人精品| 国产精品视频一区二区秋霞| 欧美日本精品视频在线观看| 成人午夜在线视频观看| 亚洲婷婷开心色四房播播| 日本女优一色一伦一区二区三区| 国产一级内射麻豆91| 日本不卡一本二本三区| 在线一区二区免费的视频| 韩国激情野战视频在线播放| 国产偷拍精品在线视频| 日韩人妻欧美一区二区久久| 好吊妞视频这里有精品| 激情亚洲内射一区二区三区| 空之色水之色在线播放| 四十女人口红哪个色好看| 久久永久免费一区二区| 国产又粗又深又猛又爽又黄| 丰满人妻一二区二区三区av| 中文字幕乱码一区二区三区四区| 小草少妇视频免费看视频| 亚洲av又爽又色又色| 亚洲欧美日本国产不卡| 97人妻精品一区二区三区免| 中文字幕一区二区免费| 最新69国产精品视频| 亚洲一区在线观看蜜桃| 大香蕉再在线大香蕉再在线| 久久综合日韩精品免费观看| 99热九九热这里只有精品| 视频在线播放你懂的一区|