Пользовательский интерфейс Laravel: команда аутентификации, генерирующая несовместимые контроллеры

#laravel

#laravel

Вопрос:

У меня установлена Laravel на версии 7.29.3 (наш сервер пока не поддерживает версию 8)

У меня возникла проблема с ui:auth командой. Это генерация контроллеров, которые ссылаются на классы в Illuminate пространстве имен, которые не существуют.

Например, AuthVerificationController класс, который он мне дает, использует IlluminateFoundationAuthVerifiesEmails , но я не вижу соответствующего файла в /vendor/laravel/src/Illuminate/Foundation/Auth каталоге.

Более того, когда я ищу «VerifiesEmails» в документе Laravel API для версии 7.x, такого файла нет. Однако этот файл существует, когда я ищу его в версии 6.x

Итак, я предполагаю, что у меня где-то есть несоответствие, и я получаю контроллеры v6 для установки v7.

Однако composer показывает, что у меня есть laravel/ui 2.5, который должен быть для Laravel 7.

Я попытался удалить свой композитор.блокировка и каталоги поставщиков и переустановка из composer в надежде, что это устранит проблему, но без кубиков.

Есть идеи, что может происходить?

Ответ №1:

Эти классы не vendor/laravel/framework/src/... включены. Они не являются частью фреймворка. Они приходят из laravel/ui упаковки, vendor/laravel/ui/auth-backend/... .

Комментарии:

1. Хорошо, это имеет смысл. Или, по крайней мере, какой-то смысл — это не очень интуитивное пространство имен, но я полагаю, что это помогает совместимости. Спасибо за вашу помощь!