升级到 Laravel 6.0.x 后调用未定义函数 App\Providers\studly_case()

Call to undefined function App\Providers\studly_case() after upgrade to Laravel 6.0.x

正如我在问题中提到的,我刚刚将项目的 Laravel 版本从 5.8.* 升级到 6.0.*.

现在我收到以下错误:

In AppServiceProvider.php line 32:
Call to undefined function App\Providers\studly_case()

Laravel 应该在它自己的核心文件中抛出错误吗?当我收到此错误时,我正在调用以下命令,所以我想任何 artisan 命令都会发生这种情况:

php artisan list

我在文档中看到,新函数是 Str class 文件中的 Str::studly。可以在 AppServiceProvider.php 中更改吗?

参考Laravel 6.x docs,我刚刚发现将字符串当前大小写转换为studly case的函数移至Illuminate\Support\Str class,并命名为studly().

所以我添加了该依赖项,然后将 AppServiceProvider.php 中的 studly_case() 替换为 Str::studly(),然后就能够 运行 artisan 命令和以前一样。

我不确定更改 AppServiceProvider.php 是否是标准方式,但它确实有效,所以我在这里发布答案,这样它会帮助其他面临同样问题的人。