【问题标题】:Unable to list laravel routes because target class not found无法列出 laravel 路由,因为找不到目标类
【发布时间】:2020-09-18 20:17:57
【问题描述】:

我目前正在开发一个仅 API 的 laravel 应用程序。在控制器文件夹中,有一个包含所有控制器的 API 文件夹。 ForgotPasswordController 也在 API 文件夹中。

当我运行命令 php artisan route:list 时,出现以下错误

Illuminate\Contracts\Container\BindingResolutionException : 目标类 [App\Http\Controllers\Auth\ForgotPasswordController] 不存在。

Auth 文件夹中实际上没有 ForgotPasswordController。我该如何处理这个问题?

【问题讨论】:

  • @RolandStarke 不错,但这并没有帮助我解决列出路线的问题
  • @RonvanderHeijden 我有API\ForgotPasswordController,它工作正常。我想列出路线的原因是因为在api.php 文件中添加新路线并运行php artisan route:cache 后,路线不断返回resource not found

标签: php laravel


【解决方案1】:

你必须确保你在做php artisan route:cache的优先级。

如果问题仍然存在,是否可以禁用身份验证提供程序并尝试?

【讨论】:

  • 是的,我跑了几次php artisan route:cache,但由于提到的错误,仍然无法列出所有路线
  • 我遇到了这样的问题,它与身份验证提供者有关,抱歉问题没有解决:(
【解决方案2】:

考虑到项目已经上线并且我需要大量开发一些功能,为了节省时间,我已将 ForgotPassword 和 ResetPassword 控制器移回 Auth 文件夹。进行测试以确保没有任何损坏(一切正常),现在我可以列出路线了。

【讨论】:

    【解决方案3】:

    如果您的路由文件中有Auth::routes()Route::auth() 将生成到ForgotPasswordController 的路由。

    您不需要调用它,或者您需要将正确的选项传递给它以使其不注册这些路由:

    Auth::routes(['reset' => false]);
    

    根据您使用的版本,这可能无法正常工作。如果是这种情况,您将不得不根本不使用此方法并自己注册您想要/需要的路线。

    【讨论】:

      猜你喜欢
      • 2016-11-15
      • 2023-03-11
      • 2020-12-27
      • 2021-03-31
      • 2020-03-26
      • 1970-01-01
      • 2019-07-24
      • 1970-01-01
      • 2014-10-02
      相关资源
      最近更新 更多