【问题标题】:Invalid route action: [App\Http\Controllers\Auth/ForgotPasswordController]无效的路由操作:[App\Http\Controllers\Auth/ForgotPasswordController]
【发布时间】:2019-12-16 23:34:29
【问题描述】:

每次我用路由创建一个新的可调用控制器时,我似乎都会遇到这个问题。任何人都可以帮我解决它吗?我试过删除和重做类,重做路线,它似乎讨厌它?

天知道我是怎么弄到这些的。

路线:

Route::post('user/forgot', 'Auth/ForgotPasswordController');

控制器;

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;

class ForgotPasswordController extends Controller
{
    use SendsPasswordResetEmails;

    public function __invoke()
    {
        return $this->sendResetLinkEmail(request());
    }
}

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    你几乎拥有它!

    Route::post('user/forgot', 'Auth/ForgotPasswordController');
    

    注意第二个参数Auth/ForgotPasswordController中的/

    您需要将其更改为\,因为这是表示命名空间的字符。

    【讨论】:

      【解决方案2】:

      在您的发布路线中,您没有指定方法名称,请使用

      列出您的路线
      php artisan route:list
      

      你必须看到这样的路线,

      | POST | password/email| password.email| App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail     | web,guest                                                                                                                
      
      

      如果你想改变默认的 Auth 路由结构,你可以这样做,

      Route::post('user/forgot', 'Auth/ForgotPasswordController@sendResetLinkEmail');
      
      

      【讨论】:

      • 我没有指定方法名称,因为我使用的是可调用控制器,我不需要。
      【解决方案3】:

      参数区分大小写。 确保命名空间与您的目录层次结构和类名的大小写完全匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 2018-04-11
        • 2017-04-11
        • 2019-12-07
        • 2021-09-25
        • 1970-01-01
        相关资源
        最近更新 更多