Я только что обновил свой проект Laravel с 5.6 до 5.7.Основная причина, по которой я обновился, заключалась в том, что мне нужно было добавить проверку электронной почты в мой проект.После того, как я выполнил все шаги по обновлению и внедрил Проверку электронной почты согласно документации Laravel, я получаю ошибку.Итак, шаги, приводящие к ошибке, таковы:
Я использовал 1 маршрут для тестирования, в моем файле .. \ rout \ web.php у меня есть эта строка кода:
Route::get('dashboard', ['uses' => 'DashboardController@getDashboard'])->middleware('verified');
Когда я пытаюсь пойти по этому маршруту, он перенаправляет меня в представление для .. \ views \ auth \ verify.blade.php, как и должно быть.Там я нажимаю на ссылку, чтобы отправить письмо с подтверждением.Я получаю письмо, затем нажимаю кнопку в письме, чтобы подтвердить свой адрес электронной почты.Он запускает браузер и начинает перемещаться по мне где-то, и вот когда он получает ошибку:
Class signed does not exist
После долгих исследований я обнаружил, что ошибка была в новом файле VerificationController.php, который, как сказано в инструкциях для создания, иСтрока кода, вызывающая проблему:
$this->middleware('signed')->only('verify');
Если я закомментирую эту строку и снова нажму на кнопку в своем электронном письме, то она будет работать без ошибок, и мой столбец email_verified_at моих пользователей будет обновлен с отметкой даты и времени.
Ниже приведен весь VerificationController.pas на случай, если он проливает свет на проблему:
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
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;
/**
* 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');
}
}