Heim >Backend-Entwicklung >PHP-Tutorial >So erstellen Sie API-gesteuerte Anwendungen mit PHP und GraphQL

So erstellen Sie API-gesteuerte Anwendungen mit PHP und GraphQL

WBOY
WBOYOriginal
2023-05-25 08:41:021434Durchsuche

Im heutigen digitalen Zeitalter sind viele Anwendungen auf APIs (Application Programming Interfaces) angewiesen, um mit anderen Anwendungen oder Diensten zu interagieren. Herkömmliche APIs verwenden eine RESTful-Architektur, während GraphQL eine aufstrebende API-Abfragesprache ist, die eine effizientere, flexiblere und skalierbarere API-Schnittstellenlösung bietet. In diesem Artikel wird erläutert, wie Sie mit PHP und GraphQL API-gesteuerte Anwendungen erstellen.

1. Was ist GraphQL?

GraphQL ist eine API-Abfragesprache und Laufzeitumgebung. Es wurde 2012 von Facebook entwickelt, zunächst um ihre internen API-Aufrufprobleme zu lösen. Im Gegensatz zu herkömmlichen RESTful-APIs ermöglicht GraphQL Anwendungen, genau die Daten zu beschreiben, die sie benötigen, und nur diese Daten zurückzugeben, was effizientere Datenabfragen und Antwortzeiten ermöglicht.

Zu den Hauptfunktionen von GraphQL gehören:

1 Nutzen Sie das Typsystem, um die API sowie die Eingabe und Ausgabe von Abfragen und Mutationen zu definieren.

2. Mit flexiblen Abfragefunktionen kann der Client die erforderlichen Daten anfordern, ohne gezwungen zu sein, zusätzliche Daten zurückzugeben.

3. Unterstützt die Verschachtelung kleiner Abfragen in mehreren Abfragen und reduziert so die Anzahl der Datenübertragungen mit dem Server.

4. Bieten Sie die Möglichkeit, APIs schnell zu entwickeln und zu warten.

2. Warum PHP und GraphQL verwenden?

PHP ist eine beliebte Webentwicklungssprache mit einem breiten Anwendungsspektrum und starker Community-Unterstützung. Durch die Kombination mit GraphQL kann eine flexiblere, effizientere und einfacher zu wartende API-Schnittstellenlösung für die Webentwicklung bereitgestellt werden.

Darüber hinaus unterstützt GraphQL mehrere Programmiersprachen, darunter PHP, JavaScript, Java, Python usw. Gleichzeitig stehen viele Open-Source-Projekte für die GraphQL-Implementierung in PHP zur Verfügung, wie zum Beispiel WebonyxGraphQL, YoushidoGraphQL usw. Diese Projekte bieten leistungsstarke Tools und Lösungen für Entwickler zur Implementierung von API-Schnittstellen mithilfe von GraphQL.

3. Verwenden Sie PHP und GraphQL, um eine API-gesteuerte Anwendung zu erstellen.

Im Folgenden zeigen wir, wie Sie PHP und GraphQL verwenden, um eine einfache API-gesteuerte Anwendung zu erstellen.

1. Abhängigkeiten installieren

Verwenden Sie das Composer-Tool, um PHP-Abhängigkeitspakete zu verwalten. Sie können den folgenden Befehl im Terminal ausführen, um GraphQL schnell zu installieren:

composer require webonyx/graphql-php
# 🎜🎜#2. GraphQL-Schema schreiben

Das GraphQL-Schema ist der Kern des API-Endpunkts. Es definiert Abfragen, Mutationen, Typen usw. und stellt es dem Client zur Verfügung. Mit dem WebonyxGraphQL-Toolkit können Schemata in PHP erstellt, analysiert und validiert werden.

Ein einfaches Schemabeispiel:

use GraphQLTypeDefinitionObjectType;
use GraphQLTypeDefinitionType;

$queryType = new ObjectType([
    'name' => 'Query',
    'fields' => [
        'echo' => [
            'type' => Type::string(),
            'args' => [
                'message' => Type::string()
            ],
            'resolve' => function ($root, $args) {
                return $args['message'];
            }
        ]
    ]
]);

Der obige Code erstellt einen einfachen Abfragetyp, der über ein Echofeld verfügt. Dieses Feld empfängt einen Nachrichtenparameter und konvertiert den Parameter in „Intakt zurückgeben“. .

3. Starten Sie den GraphQL-Dienst

Um den GraphQL-Dienst zu starten, müssen wir das zuvor erstellte Schema an den GraphQL-Dienst übergeben bereitgestellt von GraphQL: # 🎜🎜#
use GraphQLGraphQL;
use GraphQLTypeSchema;

$schema = new Schema([
    'query' => $queryType
]);

$input = file_get_contents('php://input');
$json = json_decode($input, true);
$query = isset($json['query']) ? $json['query'] : null;
$variableValues = isset($json['variables']) ? $json['variables'] : null;

$result = GraphQL::executeQuery($schema, $query, null, null, $variableValues);
$output = $result->toArray();
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);

4. Zugriff auf die GraphQL-API

Wenn der GraphQL-Dienst gestartet wird, kann mit jedem HTTP-Client darauf zugegriffen werden. Das folgende Beispiel zeigt, wie man mit Curl eine GraphQL-API anfordert:

curl -X POST -H 'Content-Type: application/json' 
    --data '{ "query": "{ echo(message: "Hello, GraphQL!") }" }' 
    http://localhost:8080/graphql

Der obige Befehl gibt die folgende JSON-Antwort zurück:

{
  "data": {
    "echo": "Hello, GraphQL!"
  }
}

Im obigen Beispiel zeigen wir, wie das geht Erstellen Sie mit PHP und GraphQL eine API-gesteuerte Anwendung. Die Effizienz, Flexibilität und Skalierbarkeit von GraphQL machen es zu einer hervorragenden Wahl für die Erstellung moderner APIs, während die leistungsstarke Leistung und das breite Anwendungsspektrum von PHP es zu einer idealen Entwicklungssprache machen.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie API-gesteuerte Anwendungen mit PHP und GraphQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn