发布于 2026-01-06 8 阅读
0

CodeIgniter 3 和 4 的 10 个区别

CodeIgniter 3 和 4 的 10 个区别

在讨论差异之前,我们需要了解一下版本 3 发布到版本 1 发布之间发生了什么。

从 CodeIgniter 3 的第一个稳定版本发布到 CodeIgniter 4 的发布,差不多花了 5 年 1767 天的时间。

在此期间,互联网发生了巨大变化,PHP 发布了 8 个版本,出现了其他几个 PHP 框架,而市场上已有的框架也在不断更新。

与此同时,CodeIgniter 却落后了,从主流 PHP 框架之一沦为最过时的框架之一。但一切并非就此结束。最初负责 CodeIgniter 开发的 EllisLab 将开发工作移交给了 BCIT,随后,在 Jim Perry(已故)的努力以及社区的鼎力支持下,CodeIgniter 开始重获新生,并在 2018 年 9 月 28 日发布了 4.0 版本,完成了首次 alpha 测试。

2020 年 2 月 24 日,也就是 Jim Perry 的生日,CodeIgniter 4 发布了,以此纪念这位专业人士,他投入了大量时间将该框架带回市场,使其能够与其他现有框架竞争,并在资源和 PHP 本身方面更加现代化。

版本之间的差异

CodeIgniter 4 与 3 有很大不同,下面您将看到它们之间的一些主要区别。

#1 - 对 PHP 版本的支持

要使用 CodeIgniter 4,所需的最低 PHP 版本为 7.2,而 CodeIgniter 3 可以使用 5.6 版本(该版本已完全停止开发)。

#2 - 目录组织

文件结构完全不同。CodeIgniter 4 的结构分为 5 个目录:/app ,/system ,/public ,/writable ,/tests . While CodeIgniter 3 is organized in 2 directories:/application and/system`。

#3 - 命名空间的使用

CodeIgniter 4 完全使用 PHP 7 编写,并使用了命名空间,而 CodeIgniter 3 则不使用命名空间。

#4 - 自动加载

CodeIgniter 4 的自动加载过程效率更高,其中一个重要因素是命名空间的使用。而 CodeIgniter 3 则需要手动配置大多数要加载的文件。

#5 - 实体的使用

CodeIgniter 4 原生支持使用实体(entities),实体有助于构建应用程序的数据库部分,代表表中的现有列。CodeIgniter 3 不具备此功能,任何需要使用此功能的用户都必须使用第三方库并对文件上传进行调整才能实现。

#6 - 表演

CodeIgniter 4 在编写代码时使用 PHP 7,并且作为服务器上的最低配置,以及其他方面,都比 CodeIgniter 3 具有更好的性能。

#7 - 单体式库

与 CodeIgniter 3 不同,在这个新版本中,PEAR 风格的单体库的使用几乎为零。

#8 - 设置

使用 CodeIgniter 4,应用程序启动运行所需的初始设置非常简单,而 CodeIgniter 3 则需要进行大量的配置。

#9 - 原生支持 .env 文件

CodeIgniter 4 原生支持 .env 文件,允许针对不同的运行环境(生产环境、测试环境、开发环境)优化设置。CodeIgniter 3 并不原生支持此功能。

#10 - 版本迁移

CodeIgniter 4 不向下兼容,因此将应用程序从版本 3 更新到版本 4 的过程需要多做一些工作,但并不复杂。

从 2.x 版本迁移到 3.x 版本,以及 3.x 版本之间的迁移只是覆盖/system目录中的文件并更新一些文件的名称,而从 3 版本迁移到 4 版本则需要应用程序的新结构,并且需要重写其中使用的所有类以适应新标准。

以下是CodeIgniter 3和4版本之间的一些主要区别。请继续关注本站,我们将持续更新CodeIgniter 4的相关内容。

文章来源:https://dev.to/jonathanlamim/10-differences- Between-codeigniter-3-and-4-5526