Heim  >  Artikel  >  Backend-Entwicklung  >  Erfahren Sie, wie Sie APIs mit PHP und GraphQL erstellen

Erfahren Sie, wie Sie APIs mit PHP und GraphQL erstellen

PHPz
PHPzOriginal
2023-06-19 15:36:101158Durchsuche

Mit der Entwicklung der Internettechnologie ist die Architektur der Front-End- und Back-End-Trennung zum Mainstream der Webentwicklung geworden. In einer Architektur, in der Front- und Back-End getrennt sind, ist die API eine wichtige Brücke, die Front- und Back-End verbindet. Beim Erstellen von APIs werden PHP und GraphQL als zwei beliebte Technologie-Frameworks von Entwicklern weithin bevorzugt. In diesem Artikel wird erläutert, wie Sie eine API mit PHP und GraphQL erstellen.

1. PHP-Building-API

PHP ist eine Open-Source-Skriptsprache, die häufig in der Webentwicklung verwendet wird. Ihr Anwendungsbereich umfasst Website-Entwicklung, Datenbankanwendungen, Protokollverarbeitung, Bildverarbeitung und andere Aspekte. Beim Erstellen einer API kann PHP als Back-End-Sprache verwendet werden, um durch Interaktion mit dem Front-End Daten an das Front-End zu übertragen.

  1. PHP installieren

Zuerst müssen wir die PHP-Umgebung installieren. Sie können überprüfen, ob PHP lokal installiert wurde, indem Sie den folgenden Befehl in das Befehlszeilenfenster eingeben:

php -v

Wenn die PHP-Versionsnummer angezeigt wird, bedeutet dies, dass die PHP-Umgebung installiert wurde. Wenn es nicht installiert ist, müssen Sie zur [offiziellen PHP-Website] (https://www.php.net/) gehen, um es herunterzuladen und zu installieren.

  1. Wählen Sie ein Framework

In PHP stehen mehrere Frameworks zur Auswahl, wie zum Beispiel Laravel, Symfony, Zend und mehr. Unter ihnen ist Laravel ein Framework, das in der Entwicklung von PHP-Webanwendungen weit verbreitet ist. Im Folgenden finden Sie die Schritte zum Erstellen einer API mit dem Laravel-Framework.

  1. Projekt erstellen

Sie können ein Laravel-Projekt mit dem Namen „myapp“ lokal erstellen, indem Sie den folgenden Befehl in das Befehlszeilenfenster eingeben:

composer create-project laravel/laravel myapp --prefer-dist
  1. Erstellen Sie einen Controller

Bevor Sie die API erstellen, müssen Sie einen erstellen Steuergerät. Sie können einen Controller erstellen, indem Sie den folgenden Befehl eingeben:

php artisan make:controller MyController

In MyController können Sie den Geschäftslogikcode der API schreiben. In MyController können Sie beispielsweise einen API-Code schreiben, um alle Benutzerinformationen wie folgt abzufragen:

public function getAllUsers()
{
    $users = User::all(); // 查询所有用户信息
    return response()->json($users); // 返回JSON格式的用户信息
}

Unter diesen stellt User das Benutzermodell dar, das über das Eloquent ORM von Laravel definiert werden kann.

  1. Routing

In Laravel können API-Anfragen durch Routing verarbeitet werden. Sie können der soeben erstellten API Routing hinzufügen, indem Sie den folgenden Code verwenden:

Route::get('/users', 'MyController@getAllUsers');

Dabei stellt „/users“ die URL-Adresse der Anfrage dar und „MyController@getAllUsers“ stellt die Controller-Methode dar, die die Anfrage verarbeitet.

  1. Führen Sie das Projekt aus

Abschließend können Sie das erstellte Laravel-Projekt mit dem folgenden Befehl ausführen:

php artisan serve

Durch Zugriff auf „http://localhost:8000/users“ können Sie die JSON-Formatdaten aller Benutzer anzeigen Information.

2. Erstellen Sie eine API mit GraphQL

Im Vergleich zur RESTful-API besteht der Vorteil von GraphQL darin, dass das Frontend eine präzise Abfrage initiieren kann, um die erforderlichen Daten zu erhalten, wodurch der Druck der Datenbankabfrage verringert wird. Im Folgenden stellen wir vor, wie Sie GraphQL zum Erstellen einer API verwenden.

  1. GraphQL installieren

GraphQL kann als unabhängiger API-Dienst gestartet werden und muss daher zuerst installiert werden. GraphQL kann über den folgenden Befehl installiert werden:

npm install graphql-yoga
  1. Schema erstellen

In GraphQL müssen Sie ein Schema schreiben, um die API-Schnittstelle zu definieren. Schema beschreibt den Typ jedes Datentyps, den Rückgabetyp jedes Felds und die Eingabe- und Ausgabeparameter der Methode. In diesem Schema müssen wir beispielsweise einen Benutzertyp und eine Schnittstelle zum Abfragen aller Benutzerinformationen definieren. Der Code lautet wie folgt:

const typeDefs = `
  type User {
    id: ID!
    name: String!
    email: String
  }
  type Query {
    getAllUsers: [User]!
  }
`;
  1. Write Resolver

Resolver implementiert jedes Feld im Schema und beschreibt, wie Daten abgerufen werden. In diesem Beispiel lautet der Resolver-Code zum Abfragen aller Benutzerinformationen wie folgt:

const resolvers = {
  Query: {
    getAllUsers: async () => {
      const users = await User.find();
      return users;
    },
  },
};
  1. Führen Sie das Projekt aus

Schließlich können Sie den Dienst GraphQL über den folgenden Befehl starten:

const { GraphQLServer } = require('graphql-yoga');

const server = new GraphQLServer({ typeDefs, resolvers });
server.start({ port: 4000 }, () =>
  console.log(`Server is running on localhost:4000`)
);

Durch Zugriff auf „http ://localhost :4000/graphql‘ können Sie das GraphQL Playground-Tool verwenden, um die API zu testen.

Fazit

In diesem Artikel wird erklärt, wie man eine API mit PHP und GraphQL erstellt. In PHP können Sie das Laravel-Framework zum Erstellen von APIs verwenden, und in GraphQL können Sie graphql-yoga verwenden. Durch das Studium des Inhalts dieses Artikels glaube ich, dass die Leser ein gewisses Verständnis für die Verwendung von PHP und GraphQL zum Erstellen von APIs haben und versuchen können, diese in tatsächlichen Projekten anzuwenden.

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie APIs mit PHP und GraphQL erstellen. 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