PHP 框架 CodeIgniter 4 开发路线图 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hex
V2EX    PHP

PHP 框架 CodeIgniter 4 开发路线图

  •  1
     
  •   Hex 2016-04-13 08:55:31 +08:00 2997 次点击
    这是一个创建于 3467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作者: Lonnie Ezell (CI 理事会成员)
    翻译: Hex
    原文: CodeIgniter 4 Proposed Roadmap
    原文发表于 2015 年 8 月 5 日,截止目前 CI 4 正在开发中,尚未发布


    我们综合考虑了社区的愿望和意见后,也对什么样的未来对 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
    • 语言 /国际化特性
    • 缓存
    • Email
    • 加密
    • 表单验证
    • 图像处理类库
    • 分页
    • 上传类
    • Session
    • 视图
    • 调试和分析工具

    第三阶段 - 可选类库

    第三阶段将主要用来扩充可选软件包。在这个时间点,框架应该可以发布了,不需要等到所有类库都准备就绪。

    • FTP
    • XML-RPC
    • Zip
    • 排版类
    • 模板解析器

    框架迎来了新的机遇使我们很兴奋,并迫不及待的希望框架为新版迈出第一步。不要在一旁围观了,赶快来构筑框架的未来吧。

    2 条回复    2016-04-26 00:15:08 +08:00
    Hex
        1
    Hex  
    OP
       2016-04-13 09:19:52 +08:00 via iPad
    希望新版 CI 4 对提高 phper 的开发效率有帮助。
    tanteng
        2
    tanteng  
       2016-04-26 00:15:08 +08:00
    CI 是我学习 PHP 框架的第一个框架,给我帮助很大,赞!!现在我们公司后台管理系统也是 CI 搭建的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2791 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 14:49 PVG 22:49 LAX 07:49 JFK 10:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86