简介

为了替代在路由文件中以闭包形式定义的所有的请求处理逻辑,你可能想要使用控制类来组织这些行为。控制器能将相关的请求处理逻辑组成一个单独的类。控制器被存放在 app/Http/Controllers 目录。

定义控制器

下面是一个基础控制器类的例子。需要注意的是,该控制器继承了 Laravel 的基础控制器。该类控制器提供了一些便利的方法,比如 middleware 方法,该方法可以为控制器行为添加中间件:

  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\User;
  5. class UserController extends Controller
  6. {
  7. public function show($id)
  8. {
  9. return view('user/profile', ['user' => User::findOrFail($id)]);
  10. }
  11. }