WedX - журнал о программировании и компьютерных науках

php artisan route:list Класс ReflectionException не существует, но он есть?

У меня возникла эта проблема, когда я использую команду, указанную в заголовке, она не находит мой LoginController, который у меня есть в моей папке авторизации. Похоже, что он хочет загрузить контроллер, используя неправильный путь.

Это странно, потому что я никогда не трогал и не перемещал что-либо с этого контроллера. Я создавал миграцию, когда замечаю ошибку при попытке выполнить команду route:list, так как для моего приложения она работает нормально, за исключением случаев, когда я выхожу из системы, она больше не перенаправляется на мой вход в систему. нет перенаправления на общедоступный, поэтому отображается 404.

Я не знаю, что я сделал, что это сломало эти вещи.

Я попытался изменить пространство имен моего контроллера на то, которое он показывает в ошибке, но это странно, потому что, когда я меняю его, новая ошибка показывает правильный путь для контроллера, но поскольку я изменил, он не находит его снова. Также я пробовал команды: config:cache, composer dump-autoload, composer update.

Это мой контроллер:

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

}

Мои веб-маршруты:

<?php

Auth::routes();


Route::get('/home', 'HomeController@index')->name('home');



Route::namespace('Admin')->prefix('admin')->middleware(['auth',  'auth.admin'])->name('admin.')->group(function(){
    Route::resource('/ImagenAudioVideo',  'PlantillaController', ['except' => ['show', 'create', 'store'] ]);
    Route::resource('/Imagen',  'PlantillaImagenesController', ['except' => ['show', 'create', 'store'] ]);
    Route::resource('/Audio',  'PlantillaAudiosController', ['except' => ['show', 'create', 'store'] ]);
    Route::resource('/Video',  'PlantillaVideosController', ['except' => ['show', 'create', 'store'] ]);
    Route::resource('/ImagenAudio',  'PlantillaImagenesAudioController', ['except' => ['show', 'create', 'store'] ]);
    Route::resource('/EditarUsuario',  'EditarUsuariosController', ['except' => ['show', 'create', 'store'] ]);

    Auth::routes(['register' => false]);

    Route::get('/', function () {
    return view('home');
});

});

Исключение:

  ReflectionException  : Class App\Http\Controllers\Admin\Auth\LoginController does not exist

  at /Applications/MAMP/htdocs/ConfiguradorIEM/vendor/laravel/framework/src/Illuminate/Container/Container.php:790

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

19.08.2019

Ответы:


1

У вас есть две декларации Auth::routes();, вторая имеет пространство имен Admin.

Вот почему вы получаете эту ошибку: вам нужно удалить строку Auth::routes(['register' => false]); внутри пространства имен Admin Route, потому что вы добавляете пространство имен Admin ко всем контроллерам Auth.

Помните, что Auth::routes(); предназначены для большинства именованных маршрутов, и объявление второго маршрута переопределяет первое.

19.08.2019
  • Не за что, рассмотрите возможность также проголосовать за ответ, если он поможет. 20.08.2019
  • Я пытался проголосовать, но мне нужно больше репутации, но я принял ответ 20.08.2019

  • 2

    Если кто еще ищет решение такой ошибки.

    В моем случае ошибка появилась только потому, что я забыл указать пространство имен для своего контроллера, который находился в каталоге Billing.

    И как только я добавил эту строку вверху моего контроллера:

    namespace App\Http\Controllers\Billing;
    

    Проблема была решена.

    16.12.2020
    Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]