Маршруты для контроллеров в Laravel
Давайте теперь в файле с роутами будем делать так, чтобы маршруты обрабатывались заданными контроллерами.
Для этого вторым параметром метода get
нужно передать массив из двух элементов:
класса контроллера и имени действия.
Общая схема выглядит так:
<?php
Route::get('/uri', [ControllerName::class, 'action']);
?>
Сначала в файле с роутами
подключим
наш контроллер через use:
<?php
use App\Http\Controllers\PostController;
?>
После этого зададим маршрут, который
будет вызывать метод show
контроллера PostController:
<?php
use App\Http\Controllers\PostController;
Route::get('/post', [PostController::class, 'show']);
?>
Можно указать несколько маршрутов на разные действия одного контроллера:
<?php
use App\Http\Controllers\PostController;
Route::get('/post', [PostController::class, 'show']);
Route::get('/posts', [PostController::class, 'all']);
?>
Сделайте так, чтобы при обращении на
адрес /user вызывалось действие
show контроллера UserController.
Сделайте так, чтобы при обращении на
адрес /user/all вызывалось действие
all контроллера UserController.
Сделайте маршруты /about и
/contacts. Пусть они вызывают
действия about и contacts
контроллера PageController.
Сделайте маршруты /page1,
/page2 и /page3
на действия контроллера
PageController.