升级到 Laravel Spark 6;未定义的方法

Upgrading to Laravel Spark 6; Undefined Method

我正在尝试迭代到最新的 Laravel 和 Laravel Spark,目前遇到了从 Laravel Spark 5 到 6 的问题。加载我的应用程序,我收到以下错误:

Call to undefined method Laravel\Spark\Spark::teamString() (View: /home/vagrant/my-project/resources/views/vendor/spark/auth/register-common.blade.php)

据我所知,我的供应商文件夹中有正确的 Laravel Spark 实例,我 composer dump-autoload 还通过 artisan 清除了缓存。

根据说明,我在 app.php 中有以下内容:

Laravel\Spark\Providers\SparkServiceProvider::class,
Laravel\Cashier\CashierServiceProvider::class,
App\Providers\SparkServiceProvider::class,

我是不是遗漏了什么明显的东西?我可以做些什么来进一步调试它?

我 运行 在升级我的 Spark 项目时遇到了这个问题,并且修复正在将对 Spark::teamString 的任何引用更改为 Spark::teamsPrefix。

格雷格 V 是正确的。您需要将 teamString 更改为 teamsPrefix。这是因为在 Spark v6.0 中 Spark::referToTeamsAs() 被更改为 Spark::prefixTeamsAs()https://spark.laravel.com/docs/6.0/upgrade

您可以在 Spark 的源代码中看到新方法(ManageAppOptions.php 第 141-160 行)并且 teamStringreferToTeamsAs 不再存在:

    /**
     * Get the string used to describe teams.
     *
     * @return string
     */
    public static function teamsPrefix()
    {
        return static::$teamsPrefix;
    }

    /**
     * Set the string used to describe teams.
     *
     * @param  string  $string
     * @return void
     */
    public static function prefixTeamsAs($string)
    {
        static::$teamsPrefix = $string;
    }