Erfahren Sie, wie Sie APIs mit PHP und GraphQL erstellen

PHPz
Freigeben: 2023-06-19 15:42:01
Original
1163 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren
  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
Nach dem Login kopieren

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格式的用户信息
}
Nach dem Login kopieren

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');
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren
  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]!
  }
`;
Nach dem Login kopieren
  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;
    },
  },
};
Nach dem Login kopieren
  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`)
);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage