Laravel, a popular PHP web application framework, undergoes frequent updates to enhance features and security. However, upgrading from an older version to a newer one can sometimes lead to compatibility issues. One such issue that users may encounter is the “Call to undefined function str_slug()” error after upgrading a Laravel 5.7 project to version 10.10. In this blog post, we will explore the cause of this error and provide a solution to resolve it. This error indicates that the str_slug()
function, which was used in the Laravel 5.7 project, is no longer available in the upgraded version (10.10). Laravel has evolved, and some functions have been removed from the core framework, leading to this undefined function error.
Solution:
The Laravel documentation provides guidance on the changes made during the upgrade process, and in this case, it mentions the removal of String and Array Helpers from the core framework. To resolve the “Call to undefined function str_slug()” error, follow these steps:
- Refer to the Upgrade Guide: Make sure you have carefully reviewed the Laravel upgrade guide for the specific version you are upgrading to. In this case, you can find the information in the Laravel 10.x upgrade guide.
- Install Laravel Helpers Package: Since the
str_slug()
function is no longer part of the core framework, it has been moved to a separate package namedlaravel/helpers
. Install this package using Composer:
composer require laravel/helpers
Update Code References: After installing the helpers package, you need to update your code to use the new location for the str_slug()
function. Import the helper class at the top of the file where the function is used:
use Illuminate\Support\Str;
// ...
$slug = Str::slug('your-string-here');
- Replace any instances of
str_slug()
withStr::slug()
throughout your codebase. - Composer Update: After making the necessary changes, run
composer update
to ensure that your project’s dependencies are up to date.
[…] Error: Call to undefined function str_slug() […]
[…] Error: Call to undefined function str_slug() […]