Skip to content

控制器

控制器负责处理请求并返回响应。

创建控制器

基本控制器

php
<?php
namespace app\controller;

class Index
{
    public function index()
    {
        return 'Hello ThinkPHP';
    }
}
?>

使用命令行创建

bash
php think make:controller Index

控制器方法

php
<?php
namespace app\controller;

class User
{
    public function index()
    {
        return '用户列表';
    }
    
    public function create()
    {
        return '创建用户';
    }
    
    public function show($id)
    {
        return "用户 ID: {$id}";
    }
}
?>

获取请求数据

php
<?php
namespace app\controller;

use think\Request;

class User
{
    public function create(Request $request)
    {
        // 获取 GET 参数
        $id = $request->param('id');
        
        // 获取 POST 数据
        $name = $request->post('name');
        
        // 获取所有参数
        $data = $request->param();
        
        return json($data);
    }
}
?>

返回响应

返回字符串

php
<?php
public function index()
{
    return 'Hello World';
}
?>

返回 JSON

php
<?php
public function index()
{
    return json(['status' => 'success', 'data' => []]);
}
?>

返回视图

php
<?php
public function index()
{
    return view('index', ['name' => 'ThinkPHP']);
}
?>

重定向

php
<?php
public function index()
{
    return redirect('/user');
}
?>

控制器中间件

php
<?php
namespace app\controller;

class User
{
    protected $middleware = [
        'auth' => ['except' => ['login', 'register']],
    ];
}
?>

下一步

学习模型 → 模型

基于 VitePress 构建