【问题标题】:Undefined class constant 'App\Providers\RouteServiceProvider::HOME'未定义的类常量“App\Providers\RouteServiceProvider::HOME”
【发布时间】:2020-05-05 02:41:18
【问题描述】:

将 laravel 5.8 升级到 laravel 6.x 后,出现以下错误:

Undefined class constant 'App\Providers\RouteServiceProvider::HOME'

在升级应用程序登录系统之前是自定义的。升级到 laravel 6.x 后,我想使用 laravel 默认身份验证。我通过 php artisan ui:auth 创建了身份验证,并从新的 laravel app/Http/Controllers/Auth 文件夹中复制了控制器,其中包含与身份验证相关的控制器,例如 - LoginControllerRegisterController 等。

我应该怎么做才能解决上述错误?有人可以帮帮我吗?

【问题讨论】:

    标签: laravel laravel-routing laravel-6 laravel-authentication laravel-upgrade


    【解决方案1】:

    在 Laravel 6 中,auth 控制器中的 $redirectTo 属性已更新,因此更容易全面更改。 Link to PR.

    要修复错误,您可以将以下内容添加到您的 App\Providers\RouteServiceProvider.php 类中:

    /**
     * The path to the "home" route for your application.
     *
     * @var string
     */
    public const HOME = '/home';
    

    或在您的每个身份验证控制器中将$redirectTo 属性更新为您要使用的路由:

    protected $redirectTo = RouteServiceProvider::HOME;
    

    变成

    protected $redirectTo = '/the-path-you-want-to-redirect-to';
    

    【讨论】:

      【解决方案2】:

      在我的情况下,我已将 HOMEin protected $redirectTo = RouteServiceProvider::HOME; 中的单词更改为小写 home 就像 protected $redirectTo = RouteServiceProvider::home; 导致我出现上述错误的原因,所以我再次将其改成大写,现在是好的!

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,我发现它不是同一个常数 在 RouteServiceProvider 类中,您会发现 Home 不是 HOME。我认为这个问题是 LARAVEL 出现的,因为我的项目是新项目。

        我的 LARAVEL 版本是 7.7.0

        【讨论】:

          【解决方案4】:

          就我而言:

          class RouteServiceProvider extends ServiceProvider
          {
              /**
               * This namespace is applied to your controller routes.
               *
               * In addition, it is set as the URL generator's root namespace.
               *
               * @var string
               */
              protected $namespace = 'App\Http\Controllers';
              public const HOME = '/home';
          

          只需添加这一行

          public const HOME = '/home';
          

          正如 Laravel 文档所说 https://laravel.com/docs/7.x/authentication#included-authenticating

          【讨论】:

            猜你喜欢
            • 2021-12-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-22
            • 2012-12-13
            相关资源
            最近更新 更多