Maison développement back-end tutoriel php API Kong Admin pour PHP : un client indépendant du framework pour une gestion transparente de la passerelle Kong

API Kong Admin pour PHP : un client indépendant du framework pour une gestion transparente de la passerelle Kong

Nov 06, 2024 am 08:52 AM

Kong Admin API for PHP: A Framework-Agnostic Client for Seamless Kong Gateway Management

Je suis ravi de vous présenter Kong Admin API for PHP, un package PHP puissant et indépendant du framework qui simplifie les interactions avec l'API Admin de Kong Gateway. Ce package est une avancée par rapport à notre précédent client spécifique à Laravel (nasrulhazim/kong-gateway-php-client), qui sera désormais archivé.

Notre nouveau package offre une solution polyvalente aux développeurs dans n'importe quel environnement PHP, offrant la flexibilité nécessaire pour gérer facilement Kong Gateway, quel que soit le framework.

Pourquoi l'API Kong Admin pour PHP ?

La flexibilité, l'évolutivité et les fonctionnalités de Kong Gateway le rendent idéal pour la gestion des API. Cependant, les clients PHP existants étaient soit liés à des frameworks spécifiques, soit manquaient de flexibilité. Ce nouveau package répond à ces besoins en fournissant :

  • Conception indépendante du framework : compatible avec n'importe quel framework PHP ou projet personnalisé.
  • Support API complet : gérez sans effort les ressources Kong avec des opérations CRUD rationalisées.
  • Authentification configurable : l'authentification basée sur la clé API est intégrée, offrant une gestion sécurisée des accès.
  • Configuration modulaire : personnalisez l'URL de base, les en-têtes et bien plus encore de l'API en fonction de votre environnement.
  • Gestion fiable des erreurs : évitez les temps d'arrêt grâce à une gestion robuste des erreurs, garantissant des interactions stables avec l'API.

Guide de démarrage rapide

Vous trouverez ci-dessous un guide pour vous aider à démarrer avec API Kong Admin pour PHP.

Installation

Pour installer le package, exécutez :

composer require cleaniquecoders/kong-admin-api
Copier après la connexion
Copier après la connexion

Configurer Kong sur Docker

Si vous êtes nouveau sur Kong ou si vous souhaitez le configurer rapidement dans un environnement de développement local, consultez notre guide sur la configuration de Kong Gateway avec Docker. Ce guide fournit une configuration Docker étape par étape pour exécuter Kong localement, idéal pour les tests et le développement.

Configuration du bouclage de l'API Kong Gateway

Tout d'abord, configurez Kong pour autoriser les connexions en boucle sur l'API Admin, permettant ainsi une authentification sécurisée basée sur l'en-tête. Voici un exemple de la façon de le configurer avec curl :

#!/bin/bash

# Create Admin API Service
curl --request POST --url http://localhost:8001/services --data name=admin-api-service --data url='http://localhost:8001'

# Create Admin API Route
curl --request POST --url http://localhost:8001/services/admin-api-service/routes --data 'paths[]=/admin-api' --data name=admin-api-route

# Enable Key Auth on Admin API Service
curl --request POST --url http://localhost:8001/services/admin-api-service/plugins --header 'Content-Type: application/json' --data '{"name":"key-auth","config":{"key_names":["api-key"],"key_in_query":false}}'

# Create Admin API Consumer
curl --request POST --url http://localhost:8001/consumers --data '{"username":"apim","custom_id":"apim"}'

# Create APIM API Key
curl -X POST http://localhost:8001/consumers/apim/key-auth
Copier après la connexion
Copier après la connexion

Utilisation de l'API Kong Admin pour PHP

Voici quelques exemples de tâches courantes que vous pouvez effectuer avec ce package :

  1. Initialiser la configuration

    use CleaniqueCoders\KongAdminApi\Configuration;
    
    $configuration = new Configuration(
        base: 'http://127.0.0.1:8000',
        uri: 'admin-api',
        apiKey: 'your-api-key',
        keyName: 'api-key'
    );
    
    Copier après la connexion
    Copier après la connexion
  2. Créer un connecteur et un client

    use CleaniqueCoders\KongAdminApi\Client;
    use CleaniqueCoders\KongAdminApi\Connector;
    
    $connector = new Connector($configuration);
    $client = new Client($connector);
    
    Copier après la connexion
  3. Exemples d'opérations

  • Stocker un nouveau service

     use CleaniqueCoders\KongAdminApi\Enums\Endpoint;
     use CleaniqueCoders\KongAdminApi\Request;
    
     $response = $client->send(
         (new Request)
             ->setEndPoint(Endpoint::SERVICES)
             ->store(['name' => 'Some Service', 'url' => 'http://api.service.com'])
     );
    
     print_r($response);
    
    Copier après la connexion
  • Mettre à jour un service

     $response = $client->send(
         (new Request)
             ->setEndPoint(Endpoint::SERVICES)
             ->update('b3c12a56-1234-4f90-876d-12a5b678abcd', ['url' => 'http://new-example.com'])
     );
    
     print_r($response);
    
    Copier après la connexion
  • Obtenir un service

    composer require cleaniquecoders/kong-admin-api
    
    Copier après la connexion
    Copier après la connexion
  • Supprimer un service

    #!/bin/bash
    
    # Create Admin API Service
    curl --request POST --url http://localhost:8001/services --data name=admin-api-service --data url='http://localhost:8001'
    
    # Create Admin API Route
    curl --request POST --url http://localhost:8001/services/admin-api-service/routes --data 'paths[]=/admin-api' --data name=admin-api-route
    
    # Enable Key Auth on Admin API Service
    curl --request POST --url http://localhost:8001/services/admin-api-service/plugins --header 'Content-Type: application/json' --data '{"name":"key-auth","config":{"key_names":["api-key"],"key_in_query":false}}'
    
    # Create Admin API Consumer
    curl --request POST --url http://localhost:8001/consumers --data '{"username":"apim","custom_id":"apim"}'
    
    # Create APIM API Key
    curl -X POST http://localhost:8001/consumers/apim/key-auth
    
    Copier après la connexion
    Copier après la connexion
  1. Ajouter un plugin Vous pouvez ajouter des plugins, tels que la limitation de débit, avec des configurations personnalisées :
use CleaniqueCoders\KongAdminApi\Configuration;

$configuration = new Configuration(
    base: 'http://127.0.0.1:8000',
    uri: 'admin-api',
    apiKey: 'your-api-key',
    keyName: 'api-key'
);
Copier après la connexion
Copier après la connexion

Besoin d'aide avec Kong API Gateway ?

Vous envisagez d'implémenter Kong comme passerelle API ou avez besoin d'aide pour optimiser votre configuration ? Nous proposons des consultations sur l'installation et la configuration de Kong Gateway pour une gestion transparente des API. Vous pouvez prendre rendez-vous ici : Réserver une consultation.

Conclusion

Kong Admin API for PHP fournit une solution flexible et fiable pour gérer les ressources API de Kong Gateway. Avec la prise en charge de plusieurs frameworks et d'options de configuration robustes, il est conçu pour s'intégrer facilement et donner aux développeurs un contrôle total sur les puissantes fonctionnalités de Kong.


Photo de Codioful (anciennement Gradienta) sur Unsplash

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) 11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium) Mar 03, 2025 am 10:49 AM

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel Travailler avec les données de session Flash dans Laravel Mar 12, 2025 pm 05:08 PM

Travailler avec les données de session Flash dans Laravel

Introduction à l'API Instagram Introduction à l'API Instagram Mar 02, 2025 am 09:32 AM

Introduction à l'API Instagram

Misque de réponse HTTP simplifié dans les tests Laravel Misque de réponse HTTP simplifié dans les tests Laravel Mar 12, 2025 pm 05:09 PM

Misque de réponse HTTP simplifié dans les tests Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React Construisez une application React avec un Laravel Back End: Partie 2, React Mar 04, 2025 am 09:33 AM

Construisez une application React avec un Laravel Back End: Partie 2, React

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST Mar 14, 2025 am 11:42 AM

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

12 meilleurs scripts de chat PHP sur Codecanyon 12 meilleurs scripts de chat PHP sur Codecanyon Mar 13, 2025 pm 12:08 PM

12 meilleurs scripts de chat PHP sur Codecanyon

Notifications à Laravel Notifications à Laravel Mar 04, 2025 am 09:22 AM

Notifications à Laravel

See all articles