Laravel 的历史
本文翻译自 https://maxoffsky.com/code-blog/history-of...
图片来源 Unsplash
Laravel 4 出现之前的 PHP 框架世界
PHP 5.3 版本于 2009 年 8 月发布,它引入了命名空间和名为闭包的匿名函数等新语言特性。这些新特性旨在帮助 PHP 开发人员更好的编写面向对象的代码。尽管提供了许多好处,并指出一个光明的发展前途,但是众多框架并未关注未来,而是侧重于支持旧版本的 PHP。此时框架阵营主要包括 Symfony,Zend,Slim 微框架,Kohana,Lithium 和 CodeIgniter,CodeIgniter 可能是当中最具知名度的 PHP 框架。开发人员喜欢它的全面文档和简单性,任何 PHP 程序员都可以快速开始使用它。它的创造者提供了大量的支持,和一个庞大的社区。不过时间到了 2011 年,Laravel 的创始人Taylor Otwell 认为 CodeIgniter 缺乏一些构建 Web 应用程序的关键功能。例如,CodeIgniter 缺少开箱可用的用户验证和闭包路由。Laravel 的第一个测试版本在 2011 年 6 月 9 日发布,据 Laravel 的创始人 Taylor Otwell 介绍,Laravel 版本 1 仅仅是为了解决使用 PHP 框架 CodeIgniter 时不断增长的痛苦。
Laravel 1
从第一个版本开始,Laravel 已经包含了内建的用户认证,用于数据库操作的 Eloquent ORM,本地化,模型以及关系,简单的路由机制,缓存,Session,视图,通过模块和库提供的扩展性,表单,HTML 帮助函数 等等特性。
此时Laravel 还不是一个 MVC 框架,因为它还没有控制器功能。不过开发者们立即喜欢上这个新框架的干净语法,和它蕴含的潜力。在接下来的几个月中,Taylor 添加了验证方法,分页,命令行包安装器,扩展了 Eloquent ORM,并为框架的组件添加了数以百计的单元测试。 Laravel 在不到六个月的时间内就从版本 1 升级到了 版本 2 。
Laravel 2
2011 年 11 月 24 日私有发布了版本 2,它在 Readme 文件里写到:
“Laravel 使用简单,富有表现力的语法来构建精彩的应用程序,将你从意大利面条式的代码中释放出来。开发应该是让你享受的创造性体验,而不是痛苦的事情。享受新鲜空气。“
作为框架的第二个主要版本,它从创作者和社区中得到了一些稳固的升级。实现了以下功能:控制器支持,「Blade」模板引擎,依赖反转控制的容器。随着控制器的加入,该框架成为一个完全合格的 MVC 框架。开发者们很兴奋 Laravel 被塑造的模样,但不满意取消了第三方模块的支持(在第 3 版中作为 Bundle 被重新引入)。路由和控制器可以进行混合和匹配的能力(以前流行的 PHP 框架缺乏的一个功能),强大的 Eloquent ORM,以及在框架核心中使用控制反转的模式,这些特性吸引了更多的开发者兴奋的尝试新的 Laravel 框架。不到两个月后,新的主要版本发布,Laravel 3 .
Laravel 3
Laravel 3 发布于 2012 年 2 月 22日,伴随一个闪亮的新网站和众多新功能。此版本专注于集成单元测试,Artisan命令行接口,数据迁移,时间,更多的 Session 驱动器,和数据库驱动器,「bundle」的集成等等。Eloquent ORM 被重构成一个 bundle
包,并且在短时间内没有被包含进框架。它最终被纳入 Laravel 3,从那之后一直是框架的一部分。Laravel 3 是当时最稳定的 Laravel ,它足够强大以应付各种不同的 Web 应用程序。与其他框架相比,它又足够简单,以及平滑的学习曲线。
Laravel 3 很快便追上了如 CodeIgniter 和 Kohana 这样的 PHP 框架大男孩,许多开发者因其强大的功能和表现力从其他框架切换过来。众多关于 Laravel 3 的博客帖子,教程,评论和课程出现在网络上,Laravel 成为 PHP 世界的新热点。关于 Laravel 的论坛持续的引导新的用户。Laravel 3 在稳定的版本中保持了相当长的一段时间,但在框架发布 5 个月后,框架的创建者决定从头开始重写整个框架,使之成为一组通过 PHP 依赖管理器「Composer」分发的软件包。Laravel 4 在开发中的代号为 「Illuminate」。Laravel 4 是一个重大升级,其拥有全新构建的框架核心,和令人惊讶的扩展性。下表显示了所有 Laravel 版本的功能比较,包括最后一个主要版本 Laravel 4(译注:文章发布于 2013 年 7 月)。Laravel 4 里发生了什么变化,以及为何会从之前的版本发生如此大的飞跃?
Laravel 版本比较
特性 | Laravel 1 | Laravel 2 | Laravel 3 | Laravel 4 |
---|---|---|---|---|
Auth | ✔ | ✔ | ✔ | ✔ |
Cache | ✔ | ✔ | ✔ | ✔ |
Eloquent | ✔ | ✔ | ✔ | ✔ |
DB Connectors | ✔ | ✔ | ✔ | ✔ |
MySQL | ✔ | ✔ | ✔ | ✔ |
PostgreSQL | ✔ | ✔ | ✔ | ✔ |
SQLServer | ✔ | ✔ | ||
Migrations | ✔ | ✔ | ||
IoC container | ✔ | ✔ | ✔ | |
Config | ✔ | ✔ | ✔ | ✔ |
Form helpers | ✔ | ✔ | ✔ | ✔ |
HTML helpers | ✔ | ✔ | ✔ | ✔ |
URL helpers | ✔ | ✔ | ✔ | ✔ |
Routing | ✔ | ✔ | ✔ | ✔ |
Controllers | ✔ | ✔ | ✔ | |
Models | ✔ | ✔ | ✔ | ✔ |
Views | ✔ | ✔ | ✔ | ✔ |
Relationships between models | ✔ | ✔ | ✔ | |
Redirects | ✔ | ✔ | ✔ | ✔ |
Response | ✔ | ✔ | ✔ | ✔ |
String helpers | ✔ | ✔ | ✔ | ✔ |
Validation | ✔ | ✔ | ✔ | |
Unit Tests | ✔ | ✔ | ||
Blade templating engine | ✔ | ✔ | ||
DB Seeding | ✔ | |||
Queues | ✔ | |||
✔ | ||||
Facades | ✔ | |||
Command line interface (CLI) | ✔ | ✔ | ||
扩展性实现 | 模块 | 模块 | bundle | composer 包 |
Illuminate,也被称之为 Laravel 4
Laravel 4 于 2013 年 5 月 28 日发布,在版本 3 之后的 1 年又 3 个月。似乎每隔几个月都有一个 Laravel 新版本。尽管频繁发布新版本是框架在发展的一个迹象,不过这也降低了框架的可靠性。一些开发者抱怨「节奏太快」和「不稳定」,因为他们必须迁移到新版本,有时候因此无法在以前的架构上构建大型应用程序。社区希望有更多的稳定性,以及一些新功能和经过更好单元测试的 Laravel 组件。Laravel 4 是所有以前框架的顶端,展现了 PHP 开发的光明前景。
Laravel 4 从一开始就被重写为一个组件(或包)的集合,它们相互融合以构成一个框架。这些组件的管理通过名为「Composer」的最佳 PHP 依赖管理器完成。Laravel 4 具有一系列之前 Laravel 版本(甚至其它 PHP 框架)所不具有的功能:数据库种子,消息队列,内置邮件应用,更强大的包含范围定义、软删除等功能的 Eloquent ORM。
与之前的 Laravel 版本不同,从现在起 Laravel 将有一个定期的发布时间表 - 每 6 个月发布一次包含程序修补和错误修复的小版本。随着更多的单元测试已经覆盖 100% 的框架功能,Laravel 4 承诺通过 Composer 软件包提供更加稳定和轻松的扩展。
通过拥抱 PHP 5.4 的新功能,Laravel 在短短两年多的时间里已经走了很长的路,吸引了越来越多的全球开发者。框架背后的远见卓识者 - Taylor Otwell 和围绕 Laravel 的社区在很短的时间内为 PHP Web 应用程序创造了一个对未来有好的基础架构,取得了巨大的进步。用户与贡献者社区的稳定增长,也意味着 Laravel 的成功。
本作品采用《CC 协议》,转载必须注明作者和本文链接
该加逗号的地方不加逗号看着蛋疼 (
@iVanilla 标点用法是不太严谨,我下次注意 :smiley:
@茄子 还是编辑一下吧,比如
有些人看了可能会一脸懵逼的 (
为什么感觉断句不对啊
好像机翻啊!