Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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); 

I am getting the following error.

message: "Call to undefined function App\Http\Controllers\str_random()"

I have also used the random() function, and it's saying the same thing.

Can somebody please guide me on what to do?.

I have run commands like:

composer dump-autoload 

But I get the same error.

like image 234
Vishal Srivastava Avatar asked Sep 30 '19 07:09

Vishal Srivastava


2 Answers

Likelihood Of Impact: High Laravel 6 Upgrade Guide

In Laravel 6 All str_ and array_ helpers have been moved to the new laravel/helpers Composer package and removed from the framework. If desired, you may update all calls to these helpers to use the Illuminate\Support\Str and Illuminate\Support\Arr classes. Alternatively, you can add the new laravel/helpers package to your application to continue using these helpers:

composer require laravel/helpers 

If don't want to add Package then Used Str And Arr Classes.

For Example :

Str::random(12) 

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

like image 161
Jignesh Joisar Avatar answered Sep 20 '22 10:09

Jignesh Joisar


Add the following string library.

use Illuminate\Support\Str; 

now you can use it as below.

$filename = Str::random(40) 

alternatively, install the following package.

composer require laravel/helpers 
like image 44
Hitendra Singh Shekhawat Avatar answered Sep 23 '22 10:09

Hitendra Singh Shekhawat