CodeIgniter 4 建議路線圖

咱們綜合考慮了社區的願望和意見後,也對什麼樣的將來對 CI 是最合適的作了一些思考,而後,CI 理事會對框架的將來作出了一些決策。預告一下,將來將會有重大變化,但咱們相信他們不只爲咱們的將來作準備,也會保持 CodeIgniter 的一向特色 - 簡潔、快速和靈活。數據庫

這篇文章是對將來的一個簡單概述。請記住,這僅僅是最初的計劃。任何信息均可能會隨着開發的進行而發生變化。緩存

核心變化

從 CodeIgniter 初版發佈以來,PHP 社區發生了巨大變化。CodeIgniter 的許多核心要素在當時是必須的,但當 PHP5 發佈後,CodeIgniter 的核心幾乎沒有任何變化。若是將來 CodeIgniter 想要繼續保持高水準並鞏固其在 PHP 框架中的地位,則必須進行大改變。安全

這意味着系統必須所有重寫。新的 CI 將在獨立的代碼庫中開發以保持代碼的清晰。咱們設想會複用一些之前的代碼,但重點是 現代的 清晰的代碼。app

自從咱們以 PHP 7 爲目標以來,PHP 5.6 已進入安全維護模式,並將在幾個月後徹底中止支持。CI 暫時不會爲一個即將中止支持的 PHP 版本發佈新版本。咱們知道主機的環境千差萬別,那麼一些程序可能就沒法徹底支持 PHP 7,因此 3.x 分支將繼續維護一段時間 - 將遠遠長於 3.x 發佈後的 2.x 分支的 EOL 時限。框架

application 和 system 目錄都將支持 PSR-4 自動加載。CodeIgniter 將使用本身的自動加載器,並將會整合 Composer。工具

咱們將封裝一些組件,以便在大多數狀況下能夠用於 CodeIgniter 之外的項目。單元測試

包/模塊

咱們將丟棄應用程序包和模塊的概念。沒必要驚慌!由於你能夠用名字空間來處理大多數狀況 - 至少控制器和模型是這樣的。對於其餘的例如視圖、配置文件和 Helper 等,咱們相信可讓這些東東支持名字空間。你也能夠把全部包的功能和模塊的路由能力放到任意目錄中,只需告訴自動加載器如何找到他們。測試

路由

路由功能將被更新。URI 直接映射到控制器/方法這個『魔術路由』功能將可關閉,以便讓你選擇本身喜歡的路由方式。在路由配置文件中你能夠選擇使用『魔術路由』或者單獨指定每一個路由。加密

改進的日誌系統

日誌系統將被改進,但具體細節還沒有肯定。調試

測試

咱們將繼續使用 PHPUnit 作測試。這也意味着你須要本身測試應用程序,但咱們將爲你準備好所需的工具。

向後兼容性

正如上面講到的那樣,這必定是一個和老版本不兼容的版本。咱們認爲這應該是框架最好的將來。對於此次的重大變化,咱們已經作了不少年的基礎工做,咱們將盡量的使過渡更平滑,可是對於咱們能提供一個怎樣的現代化的基礎代碼仍有待觀察。

咱們將盡最大努力保持讓 CodeIgniter 多年來流行的特性,即快速、簡潔和『優雅』。

開發時間表

整個開發過程將分爲三個階段。

下列類庫將從內核刪除,改成按需下載:排版類、FTP 類、ZIP 類和 XML-RPC 類。

購物車類、Javascript 類、單元測試類和 Trackback 類將被刪除。

咱們指望在一年內能完成一個內核基本成型的 Alpha 版本。以後,咱們將把重點放在改進內核與開發剩餘軟件包的工做中。確切的時間表可能會有所不一樣,由於,與大多數開源項目同樣,這取決於社區貢獻的數量與質量,以及核心開發者的時間和精力。

第一階段

第一階段將側重於抓住框架最重要的部分。這將是框架其餘部分的基礎。他們包括:

  • 自動加載器

  • 依賴注入

  • 日誌

  • 異常處理

  • HTTP 請求/響應層(或輸入/輸出)

  • 路由

  • 控制器

  • 模型

  • 數據庫層

  • 配置

  • 安全

第二階段

第二階段的重點是完善一些 CodeIgniter 用戶喜聞樂見的類和特性。他們包括:

  • Helper

  • 語言/國際化特性

  • 緩存

  • Email

  • 加密

  • 表單驗證

  • 圖像處理類庫

  • 分頁

  • 上傳類

  • Session

  • 視圖

  • 調試和分析工具

第三階段 - 可選類庫

第三階段將主要用來擴充可選軟件包。在這個時間點,框架應該能夠發佈了,不須要等到全部類庫都準備就緒。

  • FTP

  • XML-RPC

  • Zip

  • 排版類

  • 模板解析器

框架迎來了新的機遇使咱們很興奮,併火燒眉毛的但願框架爲新版邁出第一步。不要在一旁圍觀了,趕快來構築框架的將來吧。

相關文章
相關標籤/搜索