"Call to undefined function str_slug()" in Laravel 6.0
LaravelLaravel 6Laravel HelperLaravel Problem Overview
I've upgraded my laravel 5.8 project to 6.0. It has upgraded successfully but when I'm trying to run the project or installing another package to my project it is giving me error named as "Call to undefined function str_slug()" in session.php. I don't know why....
Call to undefined function str_slug()
Laravel Solutions
Solution 1 - Laravel
If you have gone through the upgrade guide then you must know that
String and Array Helpers have been removed from Core Framework
So if if You need to still use the helper install the package
composer require laravel/helpers
and all the helpers are moved to this package
Solution 2 - Laravel
String and Array helpers are removed from laravel 6.0 Core Framework
https://laravel.com/docs/6.0/upgrade#helpers
So if You need to still use the helper install the package
composer require laravel/helpers
Or you can use by Laravel facade
use Illuminate\Support\Str;
$slug = Str::slug('Laravel 5 Framework', '-');
Solution 3 - Laravel
Personal I hard to do the following on Laravel 6
on the app Controllers add this use Illuminate\Support\Str;
then
something like this 'slug' => Str::slug($request->title)
Solution 4 - Laravel
There are two options to resolve the issue of call to undefined function str_slug()
.
1.You should run the command composer require laravel/helpers
Or another option is when you don't want to install packages then this below solution is the easy way to solve your issue and it is the best way.
2.You can use facades class
use Illuminate\Support\Str;
public function index(Request $request)
{
$slug = Str::slug($request->name);
}
Solution 5 - Laravel
composer require laravel/helpers
php artisan optimize:clear