Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengikuti prinsip REST dalam pembangunan perkhidmatan web PHP dan reka bentuk API

Cara mengikuti prinsip REST dalam pembangunan perkhidmatan web PHP dan reka bentuk API

王林
王林asal
2024-05-06 13:54:01487semak imbas

Ikuti prinsip REST untuk pembangunan perkhidmatan web PHP dan reka bentuk API: gunakan antara muka bersatu untuk mengakses sumber. Kekal tanpa kewarganegaraan dan tidak menyimpan maklumat pelanggan. Dayakan caching untuk meningkatkan prestasi. Sistem berlapis memudahkan komunikasi klien dan pelayan. Cipta perkhidmatan dalam PHP menggunakan rangka kerja Slim atau rangka kerja Laravel. Reka bentuk API menggunakan kod status HTTP, format respons JSON/XML, URL RESTful dan HATEOAS. Tunjukkan cara membina API blog yang mematuhi prinsip REST melalui kes praktikal.

PHP Web 服务开发与 API 设计如何遵循 REST 原则

Cara mengikuti prinsip REST dalam pembangunan perkhidmatan web PHP dan reka bentuk API

REST (Pemindahan Negeri Perwakilan) ialah satu set prinsip untuk mereka bentuk perkhidmatan web dan API yang diedarkan. Mengikuti prinsip ini boleh membantu mencipta API yang boleh diperluaskan, gandingan longgar dan mudah digunakan.

Dalam artikel ini, kami akan membincangkan cara membangunkan perkhidmatan web dan mereka bentuk API dalam PHP berdasarkan prinsip REST. Kami juga akan menunjukkan cara menggunakan prinsip ini melalui contoh praktikal.

Prinsip REST

Seni bina REST dibina berdasarkan prinsip berikut:

  • Antara Muka Disatukan: Gunakan antara muka bersatu untuk mengakses dan mengendalikan sumber.
  • Stateless: Sisi pelayan tidak boleh menyimpan maklumat keadaan tentang pelanggan.
  • Kebolehcache: Pelanggan boleh cache respons untuk meningkatkan prestasi.
  • Sistem Berlapis: Pelanggan dan pelayan berkomunikasi melalui sistem berlapis.
  • Kod atas permintaan (pilihan): Pelayan boleh menjana kod boleh laku secara dinamik dan menghantarnya kepada pelanggan.

Pembangunan Perkhidmatan Web PHP

Apabila membangunkan perkhidmatan web RESTful dalam PHP, anda boleh menggunakan langkah berikut:

  1. Buat projek PHP baharu.
  2. Gunakan php -S localhost:8000 untuk memulakan pelayan web. php -S localhost:8000 启动 Web 服务器。
  3. 编写以下代码:
<?php

// 创建一个新的路由
$app = new \Slim\App();

// 定义一个 GET 路由
$app->get('/users', function ($request, $response) {
    $users = ['John', 'Jane', 'Bob'];

    // 将用户列表编码为 JSON
    $json = json_encode($users);

    // 设置响应内容类型为 JSON
    $response->getBody()->write($json);

    return $response;
});

// 运行应用
$app->run();
?>
  1. 访问 http://localhost:8000/users,您会看到 JSON 编码的用户列表。

API 设计

遵循 REST 原则设计 API 时需要考虑以下事项:

  • 使用 HTTP 状态代码:使用 HTTP 状态代码指示请求的状态。
  • 使用 JSON 或 XML 作为响应正文:这两种格式在 Web 服务中广泛使用。
  • 使用 RESTful URL:使用 RESTful URL 来表示资源。
  • 遵循 HATEOAS:链接相关资源以减少耦合。

实战案例

让我们构建一个简单的博客 API 作为实战案例。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    // 设置可填充字段
    protected $fillable = ['title', 'body'];
}
?>

然后,我们可以通过以下路由定义 API:

<?php

namespace App\Http\Controllers;

use App\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function index()
    {
        return Post::all();
    }

    public function store(Request $request)
    {
        return Post::create($request->all());
    }

    public function show($id)
    {
        return Post::findOrFail($id);
    }

    public function update(Request $request, $id)
    {
        $post = Post::findOrFail($id);
        $post->update($request->all());

        return $post;
    }

    public function destroy($id)
    {
        Post::findOrFail($id)->delete();

        return response()->noContent();
    }
}
?>

这个 API 遵循了 REST 原则:

  • 使用了统一的接口:/posts
  • 无状态:服务器不会存储任何客户端状态信息。
  • 可缓存:响应可以通过在 HTTP 头中设置 Cache-Control
  • Tulis kod berikut:
  • rrreee
    1. Lawati http://localhost:8000/users dan anda akan melihat senarai pengguna yang dikodkan JSON.

    Reka Bentuk API🎜🎜🎜Perkara yang perlu dipertimbangkan semasa mereka bentuk API mengikut prinsip REST: 🎜🎜🎜🎜Gunakan kod status HTTP: 🎜Gunakan kod status HTTP untuk menunjukkan status permintaan. 🎜🎜🎜Gunakan JSON atau XML sebagai badan respons: 🎜Dua format ini digunakan secara meluas dalam perkhidmatan web. 🎜🎜🎜Gunakan URL RESTful: 🎜Gunakan URL RESTful untuk mewakili sumber. 🎜🎜🎜Ikuti HATEOAS: 🎜Pautkan sumber berkaitan untuk mengurangkan gandingan. 🎜🎜🎜🎜Kes Praktikal🎜🎜🎜Mari kami membina API blog ringkas sebagai kes praktikal. 🎜rrreee🎜 Kemudian, kita boleh mentakrifkan API melalui laluan berikut: 🎜rrreee🎜API ini mengikut prinsip REST: 🎜🎜🎜Menggunakan antara muka bersatu: /posts 🎜🎜Stateless: pelayan tidak akan menyimpan Sebarang maklumat status pelanggan. 🎜🎜Boleh Cache: Respons boleh dicache dengan menetapkan Kawalan Cache dalam pengepala HTTP. 🎜🎜Sistem berlapis: Pelanggan dan pelayan berkomunikasi melalui protokol HTTP. 🎜🎜🎜Mengikut prinsip ini membantu kami mencipta API yang boleh diperluas, gandingan longgar dan mudah digunakan. 🎜

    Atas ialah kandungan terperinci Cara mengikuti prinsip REST dalam pembangunan perkhidmatan web PHP dan reka bentuk API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn