摘要:核心變化從第一版發布以來,社區發生了巨大變化。這意味著系統必須全部重寫。暫時不會為一個即將停止支持的版本發布新版本。路由路由功能將被更新。改進的日志系統日志系統將被改進,但具體細節尚未確定。第一階段第一階段將側重于抓住框架最重要的部分。
我們綜合考慮了社區的愿望和意見后,也對什么樣的未來對 CI 是最合適的做了一些思考,然后,CI 理事會對框架的未來做出了一些決策。預告一下,未來將會有重大變化,但我們相信他們不僅為我們的未來做準備,也會保持 CodeIgniter 的一貫特點 - 簡潔、快速和靈活。
這篇文章是對未來的一個簡單概述。請記住,這僅僅是最初的計劃。任何信息都可能會隨著開發的進行而發生變化。
核心變化從 CodeIgniter 第一版發布以來,PHP 社區發生了巨大變化。CodeIgniter 的許多核心要素在當時是必須的,但當 PHP5 發布后,CodeIgniter 的核心幾乎沒有任何變化。如果未來 CodeIgniter 想要繼續保持高水準并鞏固其在 PHP 框架中的地位,則必須進行大改變。
這意味著系統必須全部重寫。新的 CI 將在獨立的代碼庫中開發以保持代碼的清晰。我們設想會復用一些以前的代碼,但重點是 現代的 清晰的代碼。
自從我們以 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
語言/國際化特性
緩存
加密
表單驗證
圖像處理類庫
分頁
上傳類
Session
視圖
調試和分析工具
第三階段 - 可選類庫第三階段將主要用來擴充可選軟件包。在這個時間點,框架應該可以發布了,不需要等到所有類庫都準備就緒。
FTP
XML-RPC
Zip
排版類
模板解析器
框架迎來了新的機遇使我們很興奮,并迫不及待的希望框架為新版邁出第一步。不要在一旁圍觀了,趕快來構筑框架的未來吧。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21486.html
摘要:在年我參加兄弟連的培訓,成為一名程序員。我認為成為程序員的有以下三種途徑。為大家準備了一份年程序員發展路線。可見也可以關注下上個時代框架霸主他的新版本可能會有奇跡發生擴展異步編程框架這個就不必多說了。 showImg(https://segmentfault.com/img/bVbmMdM?w=640&h=364); 我一生的文章都會放在這里,我的博客,我希望每一行代碼,每一段文字都能...
摘要:發布了,并且代碼庫已轉移到官方代碼庫。雖然實現第一階段目標所花費的時間比預期稍多,但我們的開發工作已經走上了正軌。非常感謝理事會成員發起并領導這個項目另外,也非常感謝所有其他理事會成員和在遠景規劃討論設計和最終確定特性等方面做出的貢獻。 CodeIgniter 4 Milestone 1 發布了,并且代碼庫已轉移到 CodeIgniter 官方代碼庫bcit-ci。 雖然實現第一階段目...
摘要:使用時,必須為每個路由定義接受的謂詞,并且任何與這些參數不匹配的請求都將生成錯誤。使用,可以使用匿名函數作為控制器,甚至可以在不使用單個控制器的情況下構建完整的應用程序。通過使用您告訴的方法,該路由將在請求下可用。 路由 ( Routes ) 內容 ( Contents ) 介紹 Introduction 路由類型 Route types 句法 Syntax 命名空間 Nam...
摘要:把如下代碼添加到目錄下的文件中類的構造函數之前,這其實就是進行變量聲明,文件也是同樣操作。舉一個我項目中的例子。該類只需要一個構造函數完成上述功能即可。 最近再給一個APP寫API,同時還要寫相應的后臺管理網站。為了便于開發和代碼組織與管理,我決定采用一個現有的框架。Codeigniter由于其輕量容易自定制的特點吸引了我,一路開發過來也有大半年時間了,寫下一些自己在開發過程中的一些體...
閱讀 1074·2021-11-16 11:45
閱讀 2708·2021-09-27 13:59
閱讀 1315·2021-08-31 09:38
閱讀 3143·2019-08-30 15:52
閱讀 1315·2019-08-29 13:46
閱讀 2085·2019-08-29 11:23
閱讀 1631·2019-08-26 13:47
閱讀 2476·2019-08-26 11:54