Как стать автором
Обновить

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

Насколько я помню, в старых версиях Laravel при использовании неймспейсов необходимо было указывать строковую запись имён контроллеров

Route::namespace('App\Http\Controllers\User')->group(function () {
    Route::get('home', 'HomeController@index');
});


В PhpStorm ctrl+click по такой строке, кстати, корректно работал.

Если использовать свойство ::class, то к полному имени класса, содержащемуся в нём приклеится дополнительно строка из namespace и получится что-то вроде

\App\Http\Controllers\User\App\Http\Controllers\User

Но вообще это устаревший метод, вряд ли стоило упоминать о нём.
А вот использование алиасов при импорте класса как раз таки мне видится оптимальным вариантом.

//Slider

Route::controller(SliderController::class)->prefix('slider')->name('slider.')->group(function () {

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

Route::get('/create', 'create')->name('create');

Route::post('/store', 'store')->name('store');

Route::get('/delete/{id}', 'delete')->where('id', '[0-9]+')->name('delete');

Route::get('/edit/{id}', 'edit')->where('id', '[0-9]+')->name('edit');

Route::post('/update/{id}', 'update')->where('id', '[0-9]+')->name('update');

});

Мне кажется, здесь больше resource подойдёт (операции стандартные) – уложимся в одну строку. Паттерны типа id/slug вообще можно глобальными сделать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории