【问题标题】:"Call to undefined function str_slug()" in Laravel 6.0Laravel 6.0 中的“调用未定义函数 str_slug()”
【发布时间】:2020-01-11 20:27:14
【问题描述】:

我已将我的 laravel 5.8 项目升级到 6.0。它已成功升级,但是当我尝试运行项目或将另一个包安装到我的项目时,它在 session.php 中给我一个名为“调用未定义函数 str_slug()”的错误。不知道为什么……

Call to undefined function str_slug()

【问题讨论】:

  • str_slug()6.0 中不可用。他们已将其更改为Str::slug。看起来你的一些 Laravel 代码仍然来自 5.8
  • 问题已解决...谢谢 :)
  • 我也有同样的问题,但是 str_slug 来自 laravel 提供的 cache.php 和 session.php 文件。如何获取这些文件的更新版本?
  • 当您将项目更新到 6.0 时,这些文件将在其位置自动更新,如果不可用则将被创建。从终端运行composer update
  • 我遇到了和 mankowitz 一样的问题,但是 composer update 没有更新它们。我去 laravel 的 github 上获取最新的代码并手动更新了 confg/cache.php 和 config/session.php。

标签: laravel laravel-6 laravel-helper


【解决方案1】:

如果你经历过upgrade guide那你一定知道

StringArray Helpers 是来自 Core Framework 的 removed

所以如果你还需要使用 helper 安装包

composer require laravel/helpers

所有助手都移到这个包中

【讨论】:

  • 嗨。我也有同样的问题。在composer require laravel/helpers 之后问题没有解决。有什么我必须做的吗?
  • 是全新安装 laravel 6.0 还是升级到 6.0 ??
  • 要升级到6.0
  • 我一直在努力使用 Str_plural,然后在 6* 中意识到它必须是 Str::_plural,但这仍然不起作用,但通过安装 laravel/helpers 包并清除工匠缓存/配置等...它工作得很好。谢谢。
【解决方案2】:

字符串和数组助手从 laravel 6.0 核心框架中移除

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

所以如果你还需要使用 helper 安装包

composer require laravel/helpers

或者你可以通过 Laravel 门面使用

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

【讨论】:

    【解决方案3】:

    个人我很难在 Laravel 6 上执行以下操作 在应用控制器上添加这个use Illuminate\Support\Str; 然后 像这样'slug' => Str::slug($request->title)

    【讨论】:

    • 我对此一无所知,但我已经有了解决方案。谢谢
    • 是的,它适用于所有 Laravel 版本。 Illuminate\Support\Str::slug($title);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2019-08-23
    • 2019-06-14
    相关资源
    最近更新 更多