PHP教程:从零构建REST API完整指南与应用场景解析

作者:API传播员 · 2025-10-11 · 阅读时间:6分钟

REST API 是一种用于创建 Web 服务并实现不同客户端通信的技术。它基于网络软件架构风格,代表“表述性状态转移”(REST)。在 PHP 中创建 REST API 的主要优势之一是,它能够与其他系统和技术无缝集成。

通过简单的 HTTP 请求,您可以从 Web 服务器检索数据,并将 PHP 应用与其他服务连接。REST API 跨平台可用,可与任何编程语言配合使用。


一. REST API的设计规则

REST API 遵循一组设计约束,定义了如何构建、使用和部署 API。关键设计约束包括:

1. 统一接口

所有资源通过相同方法访问,接口特性一致,与底层技术无关。

2. 客户端-服务器

客户端与服务器独立开发或替换,不会影响功能或性能。

3. 无状态

客户端存储所有必要信息,服务器不维护客户端上下文状态,有助于扩展和横向扩展服务器。

4. 可缓存

缓存响应以减少服务器负载并提高性能,同时需定义缓存策略和时长。

5. 按需代码

允许通过 API 下载代码并在客户端执行,实现更高级功能。

6. 分层系统

采用分层设计,每一层可以添加或移除功能,提升系统灵活性。


二. 构建 REST API前的注意事项

在使用 PHP 构建 REST API 前,选择合适框架至关重要。理想框架应具备:

  • 支持构建、测试和维护 REST API。
  • 简单易用,适合不同技能水平的开发者。
  • 与当前 PHP 版本兼容。
  • 拥有活跃社区支持、丰富文档和教程。

推荐框架:LaravelSlimLumen,它们在构建 REST API 时表现优异。


三. 如何构建一个简单的 REST API

1. 设置 Web 服务器

  • 下载并安装 XAMPP
  • 启动 XAMPP 并运行 Apache Web 服务器。

2. 创建项目目录

  • htdocs 目录下创建 rest-api 文件夹。
  • rest-api 下创建 serverapi 子目录。

3. 定义路由

  • api 目录中创建 hello.php 文件,并粘贴以下代码:
<?php
header('Content-Type: application/json');
echo json_encode(["message" => "Hello, World!"]);
?>
  • 通过浏览器访问 http://localhost/rest-api/server/api/hello.php,返回:
{
    "message": "Hello, World!"
}

四. REST API的工作原理

REST API 请求通常对应 CRUD 操作:

  • GET:检索数据(读取)。
  • POST:创建新记录(创建)。
  • PUT:更新记录(更新)。
  • DELETE:删除记录(删除)。

响应通常以 JSON 格式返回,这是最常见的输出格式。


五. 使用数据库和表创建 REST API

1. 创建数据库

CREATE DATABASE rest_api_demo;
USE rest_api_demo;
CREATE TABLE orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    order_id VARCHAR(50) NOT NULL,
    amount DECIMAL(10, 2) NOT NULL
);

2. 建立数据库连接

  • 创建 db.php 文件:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "rest_api_demo";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

3. 创建 API 文件

  • api 目录中创建 api.php
<?php
include 'db.php';

if(isset($_GET['order_id'])){
    $order_id = $_GET['order_id'];
    $query = "SELECT * FROM orders WHERE order_id='$order_id'";
    $result = $conn->query($query);

    if($result->num_rows > 0){
        $data = $result->fetch_assoc();
        echo json_encode($data);
    } else {
        echo json_encode(["message" => "Order not found"]);
    }
}
?>

4. 测试 API

访问 http://localhost/rest-api/api.php?order_id=15478959,返回示例:

{
    "id": 1,
    "order_id": "15478959",
    "amount": "100.00"
}

5. 优化 URL

  • 使用 .htaccess 重写 URL:
RewriteEngine On
RewriteRule ^api/([0-9]+)$ api.php?order_id=$1 [L,QSA]
  • 现在可以通过 http://localhost/rest-api/api/15478959 访问 API。

六. REST API的应用场景

REST API 可应用于:


七. 总结

用 PHP 创建 REST API 是一种快速、高效的方式。REST API 提供跨平台的数据访问能力,支持个性化用户体验,并能安全、无缝地共享信息。通过本文示例,您可以轻松上手,构建自己的 REST API。

原文链接: https://www.clariontech.com/blog/how-to-create-a-simple-rest-api-with-php