Контролер - це клас, що групує логіку обробки запитів. Створюють його генератором Artisan; файл з'являється в app/Http/Controllers.
php artisan make:controller PostController # порожній
php artisan make:controller PostController --resource # 7 CRUD-методів
php artisan make:controller PostController --model=Post # з type-hint моделі
php artisan make:controller Api/PostController --api # без create/edit
php artisan make:controller PhotoController --invokable # один метод __invoke
Згенерований resource-контролер містить методи, що відповідають RESTful-конвенції:
class PostController extends Controller
{
public function index() {} // GET /posts
public function create() {} // GET /posts/create
public function store(Request $request) {} // POST /posts
public function show(Post $post) {} // GET /posts/{post}
public function edit(Post $post) {} // GET /posts/{post}/edit
public function update(Request $request, Post $post) {} // PUT/PATCH
public function destroy(Post $post) {} // DELETE
}
Прапорець --resource поєднується з Route::resource('posts', PostController::class), яка реєструє всі ці маршрути одним рядком.