Slim Framework 1.6.0 版
我剛剛將 Slim Framework 1.6.0 釋出至穩定分支。這是一個主要版本,包含了基於 Rack Protocol 的全新架構。
新功能
全新 Rack 架構
Slim Framework 1.6.0 實作了 Rack Protocol 的衍生版本。在實例化後,Slim 應用程式會從 $_SERVER
超全域變數中萃取出一個變數集合,並傳入一個 Slim_Environment 實例。Slim 應用程式使用這些環境變數來路由目前 HTTP 要求,並傳回一個適當的 HTTP 回應。
新的應用程式中間件
Slim 應用程式現在可以使用應用程式層級的中間件來檢查或修改應用程式環境、要求或回應,時機為在 Slim 應用程式執行之前和/或之後。中間件是 Slim Framework 非常強大的新成員,為您的應用程式開啟了許多新可能性。
進階的要求介面
Slim_Http_Request 物件進階了介面,讓開發人員更輕鬆地檢查當前的 HTTP 要求。
進階的回應介面
Slim_Http_Response 物件進階了介面,讓開發人員更輕鬆地準備 HTTP 回應。
進階的 session 處理
與先前版本不同,Slim Framework 1.6.0 也不會自動啟動原生 PHP session。如果您需要一個原生 PHP session,您應該在實例化一個 Slim 應用程式之前自行組態並啟動一個原生 PHP session。許多應用程式開發人員發現 Slim 較早的 session 實作太過於專斷;1.6.0 中的新實作允許更多組態,而且假設較少。
Slim_Middleware_SessionCookie 中間件可以像早期版本的 Slim Framework 一樣,將已簽署、加密的 session 資料持續寫入一個 HTTP cookie。
進階的 cookie 處理
Slim Framework 1.6.0 不再使用 PHP 原生的 setcookie()
方法。相反地,Slim Framework 1.6.0 會建構和儲存 cookie 在回應物件的標頭中。這允許應用程式開發人員在 HTTP 回應傳回給用戶端之前,檢查和調整應用程式中間件的 cookie 資料。
進階的記錄
Slim Framework 1.6.0 允許使用自訂記錄程式來記錄更靈活,這些自訂記錄程式可以將已記錄的資料引導至適當的輸出目標(例如,檔案、資料庫、Twitter 或遠端網頁服務)。
進階的測試涵蓋範圍
與每一個新版本相同,Slim Framework 1.6.0 包含進階的 PHPUnit 測試涵蓋範圍和更新的 phpDocumentor API 文件。
其他雜項新增功能
Slim Framework 1.6.0 包含許多更細部的新增功能,包括
- 支援
X-HTTP-Method-Override
請求標頭 - 新的應用程式
expires()
方法以改善 HTTP 快取 - 改善與使用 gzip 壓縮的 Web 伺服器的相容性
- 與 Composer 套件管理員相容
如何升級
從較早版本升級到 Slim Framework 1.6.0 應該是一個無縫的升級。在升級較舊應用程式時,唯一潛在的問題與工作階段和記錄有關。
工作階段
如上所述,Slim Framework 1.6.0 本身不會啟動原生 PHP 工作階段。如果目前的應用程式依賴原生 PHP 工作階段,您會想在實例化應用程式之前,先設定並啟動一個 PHP 工作階段。
如果您偏好持續將工作階段資料保存到經過簽署、加密的 HTTP Cookie,您會想將 Slim_Middleware_SessionCookie 中介軟體加入應用程式。
記錄
Slim Framework 1.6.0 提供更新的記錄實作,以及自訂記錄寫入器。您可能需要更新應用程式的記錄器,讓它持續將記錄的資料傳送至相同的位置。預設情況下,Slim Framework 1.6.0 會將記錄的訊息傳送至 STDERR。
享用!