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

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

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

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


为什么要构建 REST API

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

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


术语表

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

  1. REST:全称为 Representational State Transfer(表现性状态转移),是一种基于 HTTP 协议的架构风格,允许通过 GETPOST 等方法发送请求和接收响应。
  2. API:全称为 Application Programming Interface(应用程序编程接口),是一个软件中介,允许两个应用程序之间进行通信。
  3. HTTP 动词:指 HTTP 协议中的请求方法,例如 GETPOSTPUTPATCH
  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/