Laravel 8 定义控制器
下面是一个基础控制器类的例子。需要注意的是,该控制器继承了 Laravel
的基础控制器。该类控制器提供了一些便利的方法,比如 middleware
方法,该方法可以为控制器行为添加中间件:
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\User;
class UserController extends Controller
{
/**
* 显示指定用户的简介
*
* @param int $id
* @return \Illuminate\View\View
*/
public function show($id)
{
return view('user.profile', ['user' => User::findOrFail($id)]);
}
}
你可以像这样定义一个指向控制器行为的路由:
use App\Http\Controllers\UserController;
Route::get('user/{id}', [UserController::class, 'show']);
当一个请求与指定路由的 URI 匹配时, UserController
控制器中的 show
方法将会执行。路由参数也将会被传递给该方法。
技巧:控制器并不是 必需 继承基础类。如果控制器没有继承基础类,你将无法使用一些便捷的功能,比如
middleware
,validate
,和dispatch
方法。