零基础掌握 PHP REST API 开发:从项目结构到完整接口实现指南

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

大家好,我是 Ilori Stephen Adejuwon,一名专注于后端的全栈开发工程师,来自西非尼日利亚的拉各斯。在本教程中,我将带大家一步步学习如何使用 PHP 构建 REST API。

在开始之前,我们先来了解一下 REST 和 API 的基本概念,并讨论为什么需要构建 REST API。此外,本文还将为您提供相关术语的解释以及项目的具体实现步骤。


为什么要构建 REST API

PHP 是一种功能强大的服务器端编程语言,广泛应用于处理 HTTP 请求、用户身份验证、数据库交互等任务。而 REST API 则为两个应用程序之间提供了一个标准化的通信接口。

构建 REST API 的主要原因是它可以让不同的应用程序通过 HTTP 协议进行交互,从而实现数据共享和功能扩展。如果您对这些概念感到陌生,请继续阅读,本文将为您逐步解答。


术语表

在构建 REST API 的过程中,我们会遇到一些常见的技术术语。以下是对这些术语的简要解释:

  1. REST:全称为 Representational State Transfer(表现性状态转移),是一种基于 HTTP 协议的架构风格,允许通过 GET、POST 等方法发送请求和接收响应。
  2. API:全称为 Application Programming Interface(应用程序编程接口),是一个软件中介,允许两个应用程序之间进行通信。
  3. HTTP 动词:指 HTTP 协议中的请求方法,例如 GET、POST、PUT 和 PATCH。
  4. 端点:API 与其他系统交互的接触点,通常是一个 URL,用于访问特定资源。
  5. 中间件:一种用于处理应用程序之间通信的服务,通常用于验证请求或处理其他逻辑。

项目要求

在开始构建 REST API 之前,我们需要准备以下工具和环境:

  1. 本地主机服务器:推荐使用 XAMPP、LAMPP、MAMPP 或 AMPPS,根据您的操作系统选择合适的版本。
  2. Composer:PHP 的包管理器,用于安装项目所需的外部依赖。可以从 Composer 官网 下载。
  3. Git:虽然是可选项,但建议安装 Git 以便管理代码版本或推送到远程仓库。
  4. PHP:确保安装 PHP,并具备基本的 PHP 编程知识。
  5. Postman:用于测试和消费 API 的工具,提供了丰富的功能。
  6. 文本编辑器:推荐使用 Atom 或 Visual Studio Code 编写代码。
  7. 决心:构建 REST API 需要一定的耐心和决心,尤其是对于初学者。

项目目录结构

项目的基本目录结构如下:

/PHP-REST-API
/App

# 应用程序逻辑
/public# 公共目录
composer.json
index.php# 项目入口文件

在项目根目录中打开 composer.json 文件,并粘贴以下代码片段(具体代码请参考原文)。随后运行以下命令安装依赖:

composer install

此操作将安装所需的外部包(如 Klein 和 Firebase JWT),并生成 composer.lock 文件和 vendor 文件夹。


1. 编辑 Index.php 文件

index.php 是应用程序的入口文件,主要用于加载所有依赖包和定义路由。以下是一个简单的示例代码:

require_once __DIR__ . '/vendor/autoload.php';

// 定义路由
$klein = new KleinKlein();
$klein->respond('GET', '/', function () {
    return 'Hello, REST API!';
});
$klein->dispatch();

2. 创建端点(routes 目录)

在 App/routes 文件夹中创建 api.php 文件,用于定义所有 REST API 的端点。例如:

$klein->respond('GET', '/api/v1/resource', function () {
    return json_encode(['message' => 'Resource fetched successfully']);
});

3. 启动基础模型(Model 目录)

在 App/Model 文件夹中创建 Model.php 文件,这是所有模型的基础类,主要负责数据库连接和通用操作。例如:

namespace AppModel;

use PDO;class Model {
    protected $db;    public function __construct() {
        $this->db = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    }
}

4. 创建用户模型(UserModel)

在 App/Model 文件夹中创建 UserModel.php 文件,用于处理用户相关的 CRUD 操作。例如:

namespace AppModel;

class UserModel extends Model {
    public function createUser($data) {
        $stmt = $this->db->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
        $stmt->execute($data);
        return $stmt->rowCount() > 0;
    }
}

5. 创建中间件(Middleware 目录)

在 App/Middleware 文件夹中创建 RequestMiddleware.php 文件,用于验证传入的请求。例如:

namespace AppMiddleware;

class RequestMiddleware {
    public static function validate($request) {
        // 验证逻辑
        return true;
    }
}

6. 创建控制器(Controller 目录)

在 App/Controller 文件夹中创建 UserController.php 文件,用于处理用户相关的业务逻辑。例如:

namespace AppController;

use AppModelUserModel;class UserController {
    public function createNewUser($request) {
        $userModel = new UserModel();
        $data = $request->paramsPost();
        return $userModel->createUser($data);
    }
}

测试 API

启动本地服务器:

php -S 127.0.0.1:8000

使用 Postman 测试 API,例如创建用户的端点 /api/v1/user。


总结

通过本文的教程,我们学习了如何使用 PHP 构建一个 REST API,包括项目的基本结构、模型的创建、中间件的实现以及控制器的开发。希望本文能为您提供清晰的指导,帮助您顺利完成 REST API 的开发。

原文链接: https://blog.ldtalentwork.com/2020/07/08/how-to-build-a-rest-api-using-php/