【问题标题】:Call to undefined function App\Providers\studly_case() after upgrade to Laravel 6.0.x升级到 Laravel 6.0.x 后调用未定义函数 App\Providers\studly_case()
【发布时间】:2023-12-13 20:13:02
【问题描述】:

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

现在我收到以下错误:

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

Laravel 是否应该在它自己的核心文件中抛出错误?当我得到这个错误时,我正在调用以下命令,所以我想这发生在任何工匠命令上:

php artisan list

我在文档中看到,新函数是来自Str 类文件的Str::studly。换AppServiceProvider.php可以吗?

【问题讨论】:

  • 我认为它被重命名为 studly。

标签: php laravel function laravel-6 laravel-upgrade


【解决方案1】:

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

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

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

【讨论】: