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.
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
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.
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.
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
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!