Laravel 5.8 中即将推出的 Carbon 更新
发布日期 作者 Paul Redmond
感谢 Carbon 维护者 @kylekatarnls,您将能够在 Laravel 5.8 中使用 Carbon 1.0 *或* Carbon 2.0。此更新包括使用 Carbon 不可变对象的能力,甚至可以使您的应用程序使用 CarbonImmutable 作为默认值。
⏱感谢 Carbon 维护者 Kyle 的辛勤工作(https://t.co/kLkpb3rVBm),您将能够在 Laravel 5.8 中使用 Carbon 1.0 或 2.0……这允许支持 CarbonImmutable。您甚至可以配置您的应用程序始终使用 CarbonImmutable。⏱ pic.twitter.com/JpKAaoABo9
— Taylor Otwell ???????? (@taylorotwell) 2018 年 10 月 3 日
根据 laravel/framework 拉取请求,您可以选择您想要用于日期的类,“例如 CarbonImmutable
、Chronos
或简单的 DateTime
。”
如果您想了解有关从 Carbon 1 迁移到 Carbon 2 的更多信息,请查看官方文档的 迁移到 Carbon 2 部分。该文档还提供了大量 CarbonImmutable
示例,如果您对不可变日期对象感兴趣。
如果您想知道 Laravel 5.7 是否支持 Carbon 2,那么只有 Carbon 1 在 Laravel 5.7 中得到支持。支持 Carbon 2 需要进行大量更改。
关于 Carbon 2 的另一个注意事项——本地化 已发生了很大变化,值得阅读文档以了解这些变化。
虽然 Carbon 1 提供了部分支持,并依赖于 IntlDateFormatter 类和语言包等第三方工具进行高级翻译,但您现在可以从 [Carbon 2 中] 的广泛国际化支持中受益。
前段时间我写了一篇关于 在 PHP 中使用可变和不可变日期时间 的文章,因此,如果您需要了解使用 Carbon、Chronos 和 PHP 内置的 DatetimeImmutable
类处理不可变日期与可变日期之间的差异,请查看它。