2.1 响应HTTP请求

第 8 节 / 共 46 节 课程:ThinkPHP

在ThinkPHP8中,响应HTTP请求主要通过控制器来实现。控制器负责接收请求、处理业务逻辑并返回响应。

1. 创建控制器

首先,创建一个控制器类,它需要继承ThinkPHP8的基础控制器类 BaseController,在项目文件夹下找到app/controller,右键点击新建文件,输入Demo.php,把下方代码复制进去:

<?php
namespace app\Controller;
use app\BaseController;
class Demo extends BaseController
{
// 后续添加路由方法
}

2. 定义路由方法

在控制器中添加处理HTTP请求的方法,在上面建立的类的内部,粘贴下面的代码:

// 响应GET请求 /hello
public function hello($name = 'World')
{
    return 'Hello ' . $name;
}
// 响应GET请求 /
public function index()
{
    return 'Welcome to ThinkPHP8';
}
// 响应POST请求 /submit
public function submit()
{
    $data = input('post.');
    return json(['message' => '数据接收成功', 'data' => $data]);
}

3. 配置路由

ThinkPHP8支持多种路由方式:

方式一:路由文件配置

# route/app.php
use think\facade\Route;

Route::get('hello/:name?', 'demo/hello');
Route::get('/', 'demo/index');
Route::post('submit', 'demo/submit');

Route::get('hello/:name?','demo/hello');是绑定路由,第一个参数是url模式,第二个参数是响应的函数的位置。这个绑定的意义就是:当你在浏览器用http://localhost/hello的时候,Demo.php的hello函数会响应。

方式二:注解路由(需要安装路由注解扩展)

/**
 * @route("hello/:name?")
 * @param string $name
 */
public function hello($name = 'World')
{
    return 'Hello ' . $name;
}

4. 运行应用

ThinkPHP8应用可以通过以下方式运行:

  • 内置服务器:php think run(默认监听 http://localhost)
  • Apache/Nginx:配置Web服务器指向 public 目录
  • 访问测试:http://localhost/hello 

由此可见,在ThinkPHP8里写一个HTTP的响应方法非常简单:创建控制器、定义方法、配置路由即可。