gpt4 book ai didi

laravel-5 - Laravel 5.3 迁移

转载 作者:行者123 更新时间:2023-12-02 15:29:35 24 4
gpt4 key购买 nike

我刚刚将 Laravel 升级到 5.x 并使用 "jenssegers/Date": "^3.0"

所以在迁移时,似乎出现错误:

[ErrorException] Declaration of Jenssegers\Date\Date::diffForHumans(Carbon\Carbon $since = NULL, $absolute = false) should be compatible with Carbon\Carbon::diffForHumans(Carbon\Carbon $other = NULL, $absolute = false, $short = false)

请建议可以采取哪些措施来解决这个问题。

最佳答案

实际上你的问题是这个包 jenssegers/date 。如您所见 Jenssegers\Date 扩展了 Carbon 并在第 104 行

public function diffForHumans(Carbon $since = null, $absolute = false, $short = false)

与Carbon有不同的实现

public function diffForHumans(Carbon $other = null, $absolute = false)

解决这个问题的方法是重新定义任一类的方法,不建议这样做,因为它们都在 Vendor 文件夹中。所以我想你的选择是要么在 jassegers/date 上提出问题,或者尝试不使用该包(如果您不经常使用它,请编写自己的替代品)。

如果您的项目 Composer.json 中没有此包,但您使用的其他一些包具有 jassegers/date 作为依赖项,则问题可能会更加困难。您可以在每个项目依赖项的 Composer.json 的 Vendor 中检查这一点。在这种情况下,您可能会考虑使用与使用 jassegers/date 作为依赖项的包不同的包,至少在更新之前是这样。

也许有人有更好的建议,这只是我的想法。

附注请记住..如果您直接在 Composer.json 中使用它,您也可以 fork jassegers/date,并自行更改方法实现并使用该 fork 版本,直到修复真正的版本。如果您间接使用它(您使用的其他某个包将其作为依赖项),那就会有点复杂,这意味着您必须一直 fork 包,直到到达 jassegers/date。这将是相当乏味的工作,但应该可以暂时解决问题。

关于laravel-5 - Laravel 5.3 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41800847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com