Heim  >  Artikel  >  PHP-Framework  >  So verwenden Sie das Hyperf-Framework für die Front-End- und Back-End-Trennungsentwicklung

So verwenden Sie das Hyperf-Framework für die Front-End- und Back-End-Trennungsentwicklung

WBOY
WBOYOriginal
2023-10-21 11:23:091534Durchsuche

So verwenden Sie das Hyperf-Framework für die Front-End- und Back-End-Trennungsentwicklung

So verwenden Sie das Hyperf-Framework für die Entwicklung der Front-End- und Back-End-Trennung

Mit der rasanten Entwicklung des Internets hat das Entwicklungsmodell der Front-End- und Back-End-Trennung bei Entwicklern immer mehr Aufmerksamkeit auf sich gezogen . In diesem Entwicklungsmodell ist das Frontend für die Seitenanzeige und Benutzerinteraktion verantwortlich, während das Backend für die Datenverarbeitung und Geschäftslogik verantwortlich ist. In diesem Artikel wird die Verwendung des Hyperf-Frameworks für die Front-End- und Back-End-Trennungsentwicklung vorgestellt und spezifische Codebeispiele bereitgestellt.

  1. Umgebungsvorbereitung

Zuerst müssen wir PHP und Composer installieren. Verwenden Sie dann Composer, um das Hyperf-Framework global mit dem folgenden Befehl zu installieren:

composer global require hyperf/hyperf-skeleton

Nach Abschluss der Installation können Sie mit dem folgenden Befehl ein neues Hyperf-Projekt erstellen:

composer create-project hyperf/hyperf-skeleton your-project-name
  1. Erstellen Sie einen Controller

Im Hyperf Im Framework ist der Verantwortliche dafür verantwortlich, Anfragen zu bearbeiten und die entsprechende Antwort zurückzusenden. Mit dem folgenden Befehl können wir einen neuen Controller erstellen:

php bin/hyperf.php gen:controller DemoController

Dadurch wird eine Controller-Datei mit dem Namen DemoController im Verzeichnis app/Controller generiert. In dieser Datei können wir verschiedene Schnittstellenmethoden definieren, um unterschiedliche Anforderungen zu verarbeiten.

Das Folgende ist ein einfacher Beispielcode, der zeigt, wie eine Antwort im JSON-Format zurückgegeben wird:

<?php

declare(strict_types=1);

namespace AppController;

use HyperfDiAnnotationInject;
use HyperfHttpServerAnnotationAutoController;
use HyperfHttpServerAnnotationMiddleware;
use HyperfHttpServerAnnotationMiddlewares;
use HyperfHttpServerContractRequestInterface;
use HyperfHttpServerContractResponseInterface;

/**
 * @AutoController(prefix="demo")
 * @Middlewares({
 *     @Middleware(AppMiddlewareAuthMiddleware::class),
 * })
 */
class DemoController
{
    /**
     * @Inject
     * @var RequestInterface
     */
    private $request;

    /**
     * @Inject
     * @var ResponseInterface
     */
    private $response;

    public function index()
    {
        $data = [
            'message' => 'Hello World',
        ];
        return $this->response->json($data);
    }
}

In diesem Beispielcode erstellen wir eine Schnittstellenmethode namens index, indem wir $response->json() aufrufen. Die Methode gibt eine Antwort zurück im JSON-Format.

  1. Erstellen Sie eine Front-End-Seite

Im Entwicklungsmodus, in dem Front-End und Back-End getrennt sind, müssen wir Schnittstellendokumente für die Front-End-Entwicklung bereitstellen, damit diese die Back-End-Schnittstelle aufrufen können. Hyperf bietet Swagger-Komponenten, die automatisch Schnittstellendokumente generieren können. Wir können den folgenden Befehl verwenden, um die Swagger-Komponente zu installieren:

composer require hyperf/swagger

Anschließend erstellen wir eine Konfigurationsdatei swagger.php im Verzeichnis config/autoload, um die relevanten Informationen der Swagger-Komponente zu konfigurieren:

<?php

use HyperfSwggerAnnotation as Swgger;

/**
 * Class DemoController
 *
 * @SwggerApi(tags={"Demo"})
 */
class DemoController
{
    /**
     * @SwggerGet(path="demo/index")
     * @SwggerResponse(code=200, description="成功", @SwggerSchema(ref="#/definitions/Hello"))
     */
    public function index()
    {
        $data = [
            'message' => 'Hello World',
        ];
        return $this->response->json($data);
    }
}

In diesem Beispielcode verwenden wir Swagger-Anmerkungen zum Indexieren Die Methode stellt einige Beschreibungen bereit, einschließlich Schnittstellenpfad, Antwortcode und anderen Informationen.

  1. Starten Sie den Hyperf-Dienst.

Nach Abschluss der Erstellung des Controllers und der Front-End-Seite müssen wir den Hyperf-Dienst starten, damit das Front-End über die Schnittstelle mit dem Back-End kommunizieren kann.

Verwenden Sie den folgenden Befehl, um den Hyperf-Dienst zu starten:

php bin/hyperf.php start
  1. Das Front-End ruft die Back-End-Schnittstelle auf

Sobald der Hyperf-Dienst erfolgreich gestartet wurde, kann der Front-End-Entwickler die Back-End-Schnittstelle entsprechend aufrufen zum Schnittstellendokument. Sie können jede Front-End-Technologie wie JavaScript, Vue.js, React usw. verwenden.

Das Folgende ist ein einfacher Beispielcode, der zeigt, wie Sie JavaScript zum Aufrufen der Backend-Schnittstelle verwenden:

fetch('http://localhost:9501/demo/index')
    .then(response => response.json())
    .then(data => console.log(data));

In diesem Beispielcode verwenden wir die Fetch-Funktion, um eine GET-Anfrage zu senden, und verwenden die json()-Methode, um diese zu analysieren Antwortdaten zurückgegeben.

Zusammenfassung

Durch die oben genannten Schritte können wir das Hyperf-Framework verwenden, um die Front-End- und Back-End-Trennung zu entwickeln. Entwickler können entsprechend ihren eigenen Bedürfnissen und Vorlieben die für sie geeignete Front-End-Technologie auswählen und die Back-End-Schnittstelle gemäß dem Schnittstellendokument aufrufen. Die leistungsstarken Funktionen und die umfangreiche Dokumentation des Hyperf-Frameworks können Entwicklern dabei helfen, effizienter zu entwickeln.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Hyperf-Framework für die Front-End- und Back-End-Trennungsentwicklung. 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