首頁  >  文章  >  ThinkPHP5.2發表Beta2版本-統一和精簡大量用法

ThinkPHP5.2發表Beta2版本-統一和精簡大量用法

藏色散人
藏色散人轉載
2018-11-26 16:57:376433瀏覽

經過20天的改進和測試,ThinkPHP5.2第二個Beta測試版本發布了。這次主要改進了fetchSql方法的處理機制,統一和簡化了許多查詢用法。

主要更新


#改進了fetchSql的解析機制

引入了單獨的Fetch類別單獨處理fetchSql方法,確保Query類別查詢方法的回傳類型不受fetchSql影響。

統一且精簡了查詢用法

這次測試版本統一精簡了許多查詢用法,讓你不會再有一個查詢功能多種用法的困擾,便於制定團隊規格。

  • get/all查詢方法統一為find/select方法;

  • 取消fetchPdo方法,傳回PDO物件統一使用pdo查詢方法;

  • ##廢棄

    resultset_type設定統一使用fetchCollection方法;

  • 取消

    readMaster方法,統一使用 master方法;

  • 模型

    save方法不支援傳入條件,統一查詢和更新方法呼叫;

  • 取消

    db/model助手函數,統一使用類別呼叫;

增加了fetchArray方法

如果使用了模型查詢,現在可以透過呼叫

fetchArray方法,查詢結果將始終傳回數組資料。方便一些統計圖表的資料傳入。

時間欄位寫入改用DateTime類別

時間欄位的自動操作改用

DateTime類,支援微秒時間記錄,提供更高精度的系統時間記錄。

只需要設定資料表時間欄位的小數位精度即可自動記錄,如果需要輸出微秒精度數據,設定

dateTimeFormat格式即可。

模型增加schema屬性

模型增加

schema屬性支持,用於定義對應資料表的欄位及類型訊息,並且支援使用PHP變數類型定義。定義了此屬性後,無需使用optimize:schema即可提升查詢效能,以及自動辨識欄位的參數綁定類型。

模型的type屬性僅用於設定自動類型轉換的資料表欄位。

支援應用公共函數檔案

多重應用模式下,支援載入應用的公用函數檔。

多重入口檔案自動識別

如果沒有在應用程式入口檔案中指定應用程式名,入口檔案存取的時候可以自動辨識目前的應用名稱。預設會取目前應用程式入口的檔案名稱作為應用程式名稱。

部分方法不再支援

以下用法是因為實用性或精簡考慮不再支援:

  • #Query類別的fetchPdo方法(可以使用pdo方法替代);

  • #Query類別的get/all/getOrFail/allOrFail方法;

  • ##模型類別的
  • save

    方法不再支援where參數;

  • #Query

    類別和模型類別的readMaster方法,該方法在swoole下無法正常使用(需要的話手動呼叫master#方法);

  • 模型類別的
  • setInc

    setDec方法;

  • 資料庫的
  • resultset_type

    設定

    ##(需要的話調用
  • fetchCollection
方法);

    db
  • 助理函數(使用

    Db類別靜態方法取代);

更新日誌


  • 改進join方法的table參數解析

  • #廢棄save方法的where 參數

  • 取消模型類別的setIncsetDec方法

  • 改進模型欄位資訊的取得

  • 取消模型與Db類別的readMaster#方法

  • 改進參數綁定類型取得

  • Query類別增加fetchArray方法支援模型查詢傳回陣列類型

  • 時間欄位自動寫入改為使用DateTime類,支援微秒資料

  • 改進驗證類別擴充驗證規則的時候不檢查是否require

  • 改進查詢CURD方法

  • 修正模型輸出

  • 改進update方法

  • #修正insertGetId方法

  • 修正getFieldType方法

  • 改進think schema 指令

  • 改進快取和日誌的路徑取得

  • 刪除db助理函數修正幾個助手函數

  • Builder
  • 類別
  • select

    方法增加第二個參數

  • #取消resultset_type設定

  • 修正動態查詢方法的

    fetchsql
  • 處理
  • 改進多應用程式入口檔案的自動辨識

  • 修正server方法的回傳類型

  • 多重應用模式允許載入公用函數檔案

  • 修正路由類別getBind方法

  • 改進session設定參數

  • 修正資源路由

  • ##改進console類別

  • 修正make指令

  • ## 改進控制器

    assign方法

  • 修正

    Cookie類別修正request類別

    修正
  • console
  • 偵錯驅動程式

    #取消
  • Query
  • 類別的

    get/all方法統一使用find

    /
  • select
  • 方法

  • 取消

    fetchPdo方法

    修正
  • insertall
的###limit###參數############是改進嚴格模式下的錯誤####### #####改進###fetchSql###方法增加###Fetch###物件#########
陳述:
本文轉載於:ThinkPHP官方博客。如有侵權,請聯絡admin@php.cn刪除