我正在使用laravel包电子邮件验证注册后,我试图注册,我的目录移动到仪表板,而不是电子邮件验证页面,当我打开urlhttp://localhost/wfh_cms/public/email/verify但我得到错误目标类[验证控制器]不存在。请告诉我如何解决这个问题?
注意:-注册后,为什么我没有重定向到电子邮件/验证url当前去仪表板。
请检查错误
https://flareapp.io/share/q5YENnx5
路线 web.php
Route::group(['middleware' => ['auth']], function() {
/**
* Logout Routes
*/
Route::get('/logout', [LogoutController::class,'logout'])->name('logout');
/**
* Verification Routes
*/
Route::get('/email/verify', 'VerificationController@show')->name('verification.notice');
Route::get('/email/verify/{id}/{hash}', 'VerificationController@verify')->name('verification.verify')->middleware(['signed']);
Route::post('/email/resend', 'VerificationController@resend')->name('verification.resend');
});
Route::group(['middleware' => ['auth','verified']], function() {
Route::get('/notification',[NotificationController::class,'index'])-
>name('notifications');
});
app Http 控制器VerificationController.php
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails, RedirectsUsers;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/dashboard';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
/**
* Show the email verification notice.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpRedirectResponse|IlluminateViewView
*/
public function show(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('web.verification.verify-email', [
'pageTitle' => __('Account Verification')
]);
}
}
我想你忘记在你的web.php文件的顶部使用VerificationController。把它添加到web.php
的顶部use AppHttpControllersVerificationController;
Reference: Routing in Laravel
不要忘记导入控制器,如:
use AppHttpControllersHomeController;
确保在控制器文件的顶部定义了命名空间。
namespace AppHttpControllers;