Laravel 控制器:控制器中使用中间件
在Laravel框架中,控制器可以使用中间件来处理HTTP请求。中间件是在请求到达控制器之前或之后运行的代码片段,用于过滤、验证或修改请求或响应。
以下是一个使用中间件的控制器示例:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
/**
* 应用中间件到控制器方法
*
* 只有通过中间件验证的请求才会被允许进入该方法
*/
public function __construct()
{
$this->middleware('auth')->only('update');
$this->middleware('admin')->only('delete');
}
/**
* 更新用户信息
*
* @param Request $request
* @param int $id
* @return Response
*/
public function update(Request $request, $id)
{
// 更新用户逻辑
}
/**
* 删除用户
*
* @param int $id
* @return Response
*/
public function delete($id)
{
// 删除用户逻辑
}
}
在这个例子中,auth
中间件仅仅应用在 update
方法上,意味着只有通过验证的用户才能更新用户信息。admin
中间件仅应用在 delete
方法上,表示只有管理员才能删除用户。这些中间件可能会检查用户的认证状态或者用户角色权限,决定是否继续请求处理。
评论已关闭