Laravel 10 - Класс «Фотоконтроллер» не существует ⇐ Php
-
Anonymous
Laravel 10 - Класс «Фотоконтроллер» не существует
Я использую Laravel 10, этот код находится в моем файле web.php
... Route::resource('photos', PhotoController::class); .... и он создает этот список маршрутов:
photos ........................ photos.index › Admin\PhotoController@index фотографии ................. photos.store › Admin\PhotoController@store photos/create .............. photos.create › Admin\PhotoController@create photos/{photo} .................... photos.show › Admin\PhotoController@show photos/{photo} .................... photos.update › Admin\PhotoController@update photos/{photo} .................... photos.destroy › Admin\PhotoController@destroy photos/{photo}/edit ................. photos.edit › Admin\PhotoController@edit все работает нормально. Теперь я хочу защитить аутентификацией всю эту страницу и использую этот код
Route::prefix('admin')->middleware('auth')->group(function () { Route::get('photos', PhotoController::class); }); Я получил эту ошибку:
Целевой класс [PhotoController] не существует. поэтому я добавляю: ->namespace('App\Http\Controllers\Admin')
Route::prefix('admin')->namespace('App\Http\Controllers\Admin')->middleware('auth')->group(function () { Route::resource('photos', PhotoController::class); }); теперь сайт работает, но команда php artisan Route:list говорит:
Класс «Фотоконтроллер» не существует Я должен указать:
используйте App\Http\Controllers\Admin\PhotoController; Вопрос в том... какой путь правильный? использовать пространство имен или указать его с помощью ->namespace()?
Я использую Laravel 10, этот код находится в моем файле web.php
... Route::resource('photos', PhotoController::class); .... и он создает этот список маршрутов:
photos ........................ photos.index › Admin\PhotoController@index фотографии ................. photos.store › Admin\PhotoController@store photos/create .............. photos.create › Admin\PhotoController@create photos/{photo} .................... photos.show › Admin\PhotoController@show photos/{photo} .................... photos.update › Admin\PhotoController@update photos/{photo} .................... photos.destroy › Admin\PhotoController@destroy photos/{photo}/edit ................. photos.edit › Admin\PhotoController@edit все работает нормально. Теперь я хочу защитить аутентификацией всю эту страницу и использую этот код
Route::prefix('admin')->middleware('auth')->group(function () { Route::get('photos', PhotoController::class); }); Я получил эту ошибку:
Целевой класс [PhotoController] не существует. поэтому я добавляю: ->namespace('App\Http\Controllers\Admin')
Route::prefix('admin')->namespace('App\Http\Controllers\Admin')->middleware('auth')->group(function () { Route::resource('photos', PhotoController::class); }); теперь сайт работает, но команда php artisan Route:list говорит:
Класс «Фотоконтроллер» не существует Я должен указать:
используйте App\Http\Controllers\Admin\PhotoController; Вопрос в том... какой путь правильный? использовать пространство имен или указать его с помощью ->namespace()?
Мобильная версия