Laravel 5.8 Класс 'App \ Http \ Controllers \ Auth \ Verified' не найден - PullRequest
0 голосов
/ 14 апреля 2019

Итак, у меня есть приложение Laravel, но я переопределил функцию sendEmailVerificationNotification по умолчанию в моем App\User.php.Потому что я не хотел использовать электронную почту по умолчанию.

Теперь, когда я регистрируюсь, я получаю электронное письмо, активацию и т. Д. ... Все это прекрасно работает.Однако, когда я нажимаю на ссылку, я получаю ошибку 500 ... Итак, я захожу в журналы и вижу следующую ошибку:

Class 'App\Http\Controllers\Auth\Verified' not found

Теперь, действительно, этокласс не существует, потому что я понятия не имею, что мне делать в этом классе ...

В моем User.php метод verify следующий:

public function verify(Request $request): Response
{
    if ($request->route('id') != $request->user()->getKey()) {
        throw new AuthorizationException;
    }
    if ($request->user()->hasVerifiedEmail()) {
        return redirect($this->redirectPath());
    }
    if ($request->user()->markEmailAsVerified()) {
        event(new Verified($request->user()));
        toastr()->success('Uw email is geverifiëerd', 'Gelukt!', ['timeOut' => 5000]);
    }
    return redirect($this->redirectPath())->with('verified', true);
}

Полная ошибка заключается в следующем:

[2019-04-14 11:57:29] staging.ERROR: класс 'App \ Http \ Controllers \ Auth \ Verified' не найден {"userId": 3, «исключение»: «[объект] (Symfony \ Component \ Debug \ Exception \ FatalThrowableError (код: 0): класс 'App \ Http \ Controllers \ Auth \ Verified' не найден в / var / www / rpr / Releases/20190414113903/app/Http/Controllers/Auth/VerificationController.php:60)

Строка 60 в VerficationController.php - это } оператора if с hasVerifiedEmail.

Может кто-нибудь объяснить, как я могу просто подтвердить пользователя и дать уведомление, что учетная запись была проверена?

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Вы должны использовать фасад Auth. Добавьте эту строку в ваш контроллер:

use Illuminate\Support\Facades\Auth;
0 голосов
/ 14 апреля 2019

Вы забыли добавить класс Verified к вашему использованию, затем добавьте:

use Illuminate\Auth\Events\Verified;
...