After upgrading Laravel from 5.6 to 6.0, Call to undefined str_random() function not working

Vis*_*ava 4 php laravel laravel-helper laravel-upgrade laravel-6

I have upgraded Laravel from 5.6 to 6.0. Previously, default helper functions were running fine on the controllers, but now it says "undefined." In my controller, I have used the following.

$filename = str_random(12);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

消息:“调用未定义的函数App \ Http \ Controllers \ str_random()”

我还使用了该random()函数,它的意思是相同的。

有人可以指导我该怎么做吗?

我已经运行了以下命令:

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

但是我得到了同样的错误。

Hit*_*wat 26

添加以下字符串库。

use Illuminate\Support\Str;
Run Code Online (Sandbox Code Playgroud)

现在你可以使用它如下。

$filename = Str::random(40)
Run Code Online (Sandbox Code Playgroud)

或者,安装以下软件包。

composer require laravel/helpers
Run Code Online (Sandbox Code Playgroud)


Jig*_*sar 12

影响的可能性:Laravel 6高级升级指南

在Laravel 6中,All str_array_helpers已移至新的laravel/helpersComposer软件包,并已从框架中删除。如果需要,您可以更新对这些帮助器的所有调用以使用Illuminate\Support\StrIlluminate\Support\Arr类。或者,您可以将新laravel/helpers程序包添加到您的应用程序中,以继续使用这些帮助程序:

composer require laravel/helpers
Run Code Online (Sandbox Code Playgroud)

如果不想添加Package,则使用StrArr类。

例如 :

Str::random(12)
Run Code Online (Sandbox Code Playgroud)

https://laravel.com/docs/master/helpers#method-str-random