本文目录导读:

这是一个非常好的问题,直接触及了 Laravel 社区的核心运作方式。
简短的回答是:不,Laravel 并不严格遵循 PHP 的 RFC(Request for Comments,征求意见稿)投票。 Laravel 的趋势更多是受其核心团队(特别是 Taylor Otwell)的愿景、社区中“有影响力”的贡献者以及实际需求驱动的。
下面来详细解释一下区别和关系,以及“Laravel趋势”的真正来源。
关键区别:PHP RFC vs. Laravel 决策
这是一个最常见的误解,我们需要把 PHP 语言本身 和 Laravel 框架 分开看待。
- PHP RFC: 这是 PHP 语言核心的演变机制,任何对 PHP 语法、函数、核心类的修改(比如新增
enum、match表达式、readonly属性)都必须经过严格的 RFC 流程:起草、讨论、投票(需要2/3多数通过),然后才能进入下一个 PHP 版本,这是自上而下、民主化的流程。 - Laravel 趋势: Laravel 是一个建立在 PHP 之上的框架,它的新功能、新语法、新设计模式(比如最近流行的
Laravel Pennant、Laravel Folio、Processfacade 等)由 Laravel 核心团队(主要是 Taylor Otwell)决定,这是一个自上而下、偏精英化但非常敏锐的流程。
Laravel 趋势的真正来源
Laravel 的趋势和方向,主要来自以下几个方面,远比“看 RFC 投票”要复杂得多:
a. 核心团队的个人愿景和“品味”
这是最重要的因素,Taylor Otwell 作为 BDFL(Benevolent Dictator for Life,仁慈的终身独裁者),他对 PHP/Laravel 生态有极强的直觉,他经常在 Twitter 上分享想法,或者在 Laracon 大会上宣布重大方向。Laravel Jetstream(替代 Laravel UI)、Laravel Livewire 的深度集成,这些都不是通过投票选出来的。
b. 社区中的“意见领袖”和“新星”
Laravel 社区非常活跃,有很多知名的开发者、播客(如《Laravel News》)、博客作者、YouTuber(如 Aaron Francis, Freek Van der Herten, Christoph Rumpel 等),某个新包、新模式(比如从「控制器 + Request + Action」转向「控制器 + 模型 + 专属 Action 类」,或者拥抱“Action 类”和“DTO”)一旦被这些意见领袖在视频或文章里推崇,就会迅速成为趋势,这有点像“网红带货”。
c. 社区 Packages 的“逆向影响”
Laravel 经常从优秀的社区包中借鉴并“收编”功能。
- 例子1:
Laravel Horizon是自家的,但Laravel Octane的理念深受 Swoole 和 RoadRunner 等社区项目影响,后来被正式采纳。 - 例子2:
Laravel Telescope是官方调试工具,但团队在看到许多优秀的社区调试工具后决定自己做。 - 例子3:
Laravel Fortify的认证逻辑,也吸收了很多社区认证包(如laravel-jetstream的前身)的最佳实践。
当一个社区包足够流行、足够“Laravel style”,核心团队就会觉得“嗯,这个该由官方提供了”,然后推出官方版本,这形成了一种先有社区趋势,后有官方支持的良性循环。
d. 实际需求与痛点
Laravel 团队非常注重开发体验(DX),当很多人在同一个问题上卡住(跨站请求伪造(CSRF)验证麻烦、队列失败处理繁琐、测试环境配置复杂),团队就会推出解决方案。趋势是解决普遍痛点的结果,而不是 RFC 投票。
那 PHP RFC 投票对 Laravel 就没有影响吗?
当然有,但它不是“趋势的源头”,而是“趋势的土壤”。
Laravel 的趋势会敏锐地抓住 PHP 的新语法特性,去创造更优雅的 API,下面是一个典型的例子:
- 2021年,PHP 8.1 RFC投票通过了
enum(枚举)。(这是 RFC 流程的结果) - Laravel 团队看到后,立刻行动:
- 在 Laravel 9.x 中,
Notification、Queue、Model的状态定义开始强烈推荐使用enum代替常量。 - Eloquent 模型新增了
Enum Casting。 - Laravel 11 中,
Enum被用于核心框架(Queue job status)。 - 社区趋势:“告别常量,拥抱 Enum” 立刻成为主流。
- 在 Laravel 9.x 中,
再比如 readonly 属性:
- PHP 8.1 RFC 通过后,Laravel 的
Data Transfer Object(DTO,数据传输对象)模式迅速流行起来,因为现在可以写public readonly string $name;来保证不可变性,这让代码更安全、更清晰,这个趋势催生了很多像lorincz/dto这样的包被集成。
总结与最终结论
| 特性 | PHP RFC 投票 | Laravel 趋势 |
|---|---|---|
| 作用对象 | PHP 语言本身(语法、核心函数) | Laravel 框架(API、设计模式、生态) |
| 决策者 | PHP 核心开发者 + 社区投票(2/3多数) | Taylor Otwell + 核心团队(BDFL模式) |
| 驱动力 | 技术合理性、一致性、向下兼容 | 开发者体验(DX)、效率、优雅性、社区口碑 |
| 时间线 | 长远规划,通常跨数年 | 快速迭代,每半年(Laravel 11 后)或更短 |
| 是否看 RFC 投票? | 是,这是它的全部。 | 否,它看的是“RFC 的结果”作为土壤,但趋势不由它决定。 |
回到你的问题:
Laravel趋势看RFC投票吗?
准确答案是:不看。 Laravel 趋势不看投票,它看的是 “是否能让开发者更爽”(提升开发者体验,即 DX),它直接吸收 PHP 的 RFC 结果(enum、match、property promotion),然后创造自己的趋势(比如用 enum 做状态机、用 property promotion 写 Action 类)。
如果你想预测 Laravel 的下一个趋势,与其盯着 wiki.php.net/rfc 看,不如关注:
- Taylor Otwell 的 Twitter/博客。
- Laracon 大会的主题演讲。
- 社区里最火的包(如
Laravel Livewire、Spatie系列的包)在做什么。 - Laravel 官方 GitHub 的
Pull Request在讨论什么。