kylekatarnls/laravel-carbon-2

Laravel 的 Carbon 2 适配器

1.0.0 2018-08-17 09:41 UTC

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,一旦升级,您就不再需要此包。