"Вызов неопределенной функции str_slug ()" в Laravel 6.0

Я обновил свой проект laravel 5.8 до 6.0. Он успешно обновился, но когда я пытаюсь запустить проект или устанавливаю другой пакет в свой проект, он выдает ошибку с названием "Вызов неопределенной функции str_slug()" в session.php. Не знаю почему....

Call to undefined function str_slug()

6 ответов

Решение

Если вы прошли руководство по обновлению, вы должны знать, что

Строка и массив

Помощники удалены из Core Framework

https://laravel.com/docs/6.0/upgrade

https://github.com/laravel/framework/blob/5.8/src/Illuminate/Support/helpers.php

Поэтому, если вам все еще нужно использовать помощник, установите пакет

composer require laravel/helpers

и все помощники перемещены в этот пакет

Помощники String и Array удалены из Laravel 6.0 Core Framework

https://laravel.com/docs/6.0/upgrade

Поэтому, если вам все еще нужно использовать помощник, установите пакет

composer require laravel/helpers

Или вы можете использовать фасад Laravel

use Illuminate\Support\Str;
$slug = Str::slug('Laravel 5 Framework', '-');

Личное. Мне сложно сделать следующее на Laravel 6 в приложении Контроллеры добавьте это use Illuminate\Support\Str; тогда что-то вроде этого 'slug' => Str::slug($request->title)

Есть два варианта решения вопроса call to undefined function str_slug().

1.Вы должны запустить команду composer require laravel/helpers

Или другой вариант: если вы не хотите устанавливать пакеты, то приведенное ниже решение — это простой способ решить вашу проблему, и это лучший способ.

2. Вы можете использовать класс фасадов

      use Illuminate\Support\Str;

public function index(Request $request)
{
   $slug = Str::slug($request->name);
}

$post = Post::create(['slug' => S tr::slug($request->title), поехали

композитор требует laravel/помощников

php ремесленник оптимизировать: очистить

Другие вопросы по тегам