kylekatarnls / laravel-carbon-2
Laravel 的 Carbon 2 适配器
资助包维护!
kylekatarnls
Open Collective
Tidelift
Requires
- nesbot/carbon: ^2.0.0-beta.2
This package is auto-updated.
Last update: 2024-08-26 15:32:37 UTC
README
⚠️ Laravel < 6.20.42 版本都存在安全漏洞,并且已经不再受支持多年。如果您仍在运行旧版本,您必须升级到更新、更安全的 Laravel 版本。
此包可以帮助您在需要时首先升级 Carbon,但自从 Laravel >= 6.20.42 版本开始,所有版本都内置了 Carbon 2,因此如果您可以升级 Laravel,则不需要此包。
laravel-carbon-2
Laravel 的 Carbon 2 适配器
要在您的 Laravel 项目中安装 Carbon 2,请将以下依赖项添加到您的 composer.json
{ ... "require": { ... "kylekatarnls/laravel-carbon-2": "^1.0.0", "nesbot/carbon": "2.27.0 as 1.39.0" } ... }
然后运行
composer update
我需要这个包吗?
仅当您使用 Laravel < 6 时才需要,因为它需要 Carbon 版本 1(具有各种最小和最大次要版本)。
因此,我们首先将 nesbot/carbon 设置为 2.x 版本,并添加一个别名,以避免与 Laravel 所需的内部 Carbon 版本冲突。
然后,Laravel 扩展了 Carbon 类以添加 JSON 序列化和宏。宏的实现方式与 Carbon 2 不兼容。而 JSON 序列化和宏自 1.26.0 版本以来一直在 Carbon 中存在,并且以完全相同的方式工作。这就是为什么在处理 Carbon 2 时可以安全地移除它们。
因此,我们安装 kylekatarnls/laravel-carbon-2,它基本上通过提供一个不带覆盖的 Illuminate\Support\Carbon 类来“移除”不再需要的 Laravel Carbon 类的覆盖,该类具有优先级高于 Laravel 的类。
此包不是长期解决方案,只是一个在适当升级之前的临时辅助工具。
Laravel < 6 版本都存在安全漏洞,并且已经不再受支持多年。您必须升级到更新、更安全的 Laravel 版本。
安装并保持更新以获取最新的安全修复:[https://laravelversions.com/](https://laravelversions.com/)
您还可以在每个版本上检查安全问题:[https://packagist.org.cn/packages/laravel/framework](https://packagist.org.cn/packages/laravel/framework)
然后,因为所有这些版本默认都使用 Carbon 2,一旦升级,您就不再需要此包。