Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyepaduan perkhidmatan mikro pembangunan perkhidmatan web PHP dan reka bentuk API

Penyepaduan perkhidmatan mikro pembangunan perkhidmatan web PHP dan reka bentuk API

WBOY
WBOYasal
2024-05-07 08:48:01673semak imbas

Sepadukan perkhidmatan mikro ke dalam perkhidmatan web PHP dan reka bentuk API menggunakan PHP dan API RESTful dengan memasang sambungan dan perpustakaan yang diperlukan, mereka bentuk perkhidmatan mikro untuk mengurus data pengguna dan pos, menentukan titik akhir menggunakan API RESTful, dan menulis kod PHP untuk memanggilnya Perkhidmatan Mikro dan menyediakan penyepaduan API . . Ia menguraikan aplikasi kepada perkhidmatan kecil yang digandingkan secara longgar, digunakan secara bebas yang boleh berkomunikasi antara satu sama lain melalui API. Amat penting bagi pembangun PHP untuk menyepadukan perkhidmatan mikro ke dalam perkhidmatan web dan reka bentuk API mereka. Artikel ini akan menyediakan kes praktikal yang menunjukkan cara menyepadukan perkhidmatan mikro menggunakan PHP dan API RESTful.

PHP Web 服务开发与 API 设计的微服务集成Pemasangan

Mula-mula, pasang sambungan dan perpustakaan PHP yang diperlukan. Untuk API RESTful, sambungan RESTful Web Services

diperlukan. Untuk komunikasi perkhidmatan mikro, perpustakaan

GuzzleHTTP ialah pilihan popular.

sudo apt-get install php7.2-curl php7.2-restful
composer install guzzlehttp/guzzle

Reka bentuk perkhidmatan mikro

Buat dua perkhidmatan mikro:

Perkhidmatan pengguna: Urus data pengguna

Sis perkhidmatan:

Urus data pos

  • Direka menggunakan RESTful API :
  • Perkhidmatan pengguna:

GET /users - Dapatkan semua pengguna POST /users - Cipta pengguna baharu

  • Servis pos:

    • POS / siaran - Buat siaran baharu
  • Kod PHP

    • Perkhidmatan pengguna (user.php)
    • <?php
      
      use GuzzleHttp\Client;
      
      class UserService
      {
          private $userServiceEndpoint;
      
          public function __construct(string $userServiceEndpoint)
          {
              $this->userServiceEndpoint = $userServiceEndpoint;
          }
      
          public function getAllUsers(): array
          {
              $client = new Client();
              $response = $client->get($this->userServiceEndpoint . '/users');
      
              return json_decode($response->getBody()->getContents(), true);
          }
      
          public function createUser(array $data): int
          {
              $client = new Client();
              $response = $client->post($this->userServiceEndpoint . '/users', [
                  'form_params' => $data
              ]);
      
              return $response->getStatusCode();
          }
      }
    Perkhidmatan pos (pos.php)

api. php

<?php

use GuzzleHttp\Client;

class PostService
{
    private $postServiceEndpoint;

    public function __construct(string $postServiceEndpoint)
    {
        $this->postServiceEndpoint = $postServiceEndpoint;
    }

    public function getAllPosts(): array
    {
        $client = new Client();
        $response = $client->get($this->postServiceEndpoint . '/posts');

        return json_decode($response->getBody()->getContents(), true);
    }

    public function createPost(array $data): int
    {
        $client = new Client();
        $response = $client->post($this->postServiceEndpoint . '/posts', [
            'form_params' => $data
        ]);

        return $response->getStatusCode();
    }
}

Atas ialah kandungan terperinci Penyepaduan perkhidmatan mikro 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