目标 class [VerificationController] 不存在。使用 laravel 8
Target class [VerificationController] does not exist. using laravel 8
我正在使用 laravel 包注册后的电子邮件验证我正在尝试注册之后我正在将目录移动到仪表板而不是电子邮件验证页面当我打开 url http ://localhost/wfh_cms/public/email/verify 但我收到错误 Target class [VerificationController] 不存在。 请帮我解决这个问题?
注意:- 注册后,为什么我没有重定向到 email/verify url 当前正在访问仪表板。
请检查错误
https://flareapp.io/share/q5YENnx5
routes\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\Controllers\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 \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
*/
public function show(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('web.verification.verify-email', [
'pageTitle' => __('Account Verification')
]);
}
}
不要忘记像这样导入控制器:
use App\Http\Controllers\HomeController;
确保您在控制器文件的顶部定义了命名空间。
namespace App\Http\Controllers;
我认为您忘记了在 web.php 文件的顶部使用 VerificationController。将此添加到 web.php
的顶部
use App\Http\Controllers\VerificationController;
我正在使用 laravel 包注册后的电子邮件验证我正在尝试注册之后我正在将目录移动到仪表板而不是电子邮件验证页面当我打开 url http ://localhost/wfh_cms/public/email/verify 但我收到错误 Target class [VerificationController] 不存在。 请帮我解决这个问题?
注意:- 注册后,为什么我没有重定向到 email/verify url 当前正在访问仪表板。
请检查错误
https://flareapp.io/share/q5YENnx5
routes\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\Controllers\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 \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
*/
public function show(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect($this->redirectPath())
: view('web.verification.verify-email', [
'pageTitle' => __('Account Verification')
]);
}
}
不要忘记像这样导入控制器:
use App\Http\Controllers\HomeController;
确保您在控制器文件的顶部定义了命名空间。
namespace App\Http\Controllers;
我认为您忘记了在 web.php 文件的顶部使用 VerificationController。将此添加到 web.php
的顶部use App\Http\Controllers\VerificationController;