Comment utiliser le framework Hyperf pour le développement de la séparation front-end et back-end
Avec le développement rapide d'Internet, le modèle de développement de la séparation front-end et back-end a attiré de plus en plus l'attention des développeurs . Dans ce modèle de développement, le front-end est responsable de l'affichage des pages et de l'interaction de l'utilisateur, tandis que le back-end est responsable du traitement des données et de la logique métier. Cet article explique comment utiliser le framework Hyperf pour le développement de séparations front-end et back-end, et fournit des exemples de code spécifiques.
Tout d'abord, nous devons installer PHP et Composer. Ensuite, utilisez Composer pour installer globalement le framework Hyperf avec la commande suivante :
composer global require hyperf/hyperf-skeleton
Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour créer un nouveau projet Hyperf :
composer create-project hyperf/hyperf-skeleton your-project-name
Dans Hyperf framework, le responsable du traitement est responsable du traitement des demandes et renvoie la réponse appropriée. Nous pouvons utiliser la commande suivante pour créer un nouveau contrôleur :
php bin/hyperf.php gen:controller DemoController
Cela générera un fichier de contrôleur nommé DemoController dans le répertoire app/Controller. Dans ce fichier, nous pouvons définir différentes méthodes d'interface pour gérer différentes requêtes.
Ce qui suit est un exemple de code simple qui montre comment renvoyer une réponse au format JSON :
<?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); } }
Dans cet exemple de code, nous créons une méthode d'interface nommée index en appelant $response->json() La méthode renvoie une réponse au format JSON.
Dans le mode de développement où le front-end et le back-end sont séparés, nous devons fournir des documents d'interface pour le développement front-end afin qu'ils puissent appeler l'interface back-end. Hyperf fournit des composants Swagger qui peuvent générer automatiquement des documents d'interface. Nous pouvons utiliser la commande suivante pour installer le composant Swagger :
composer require hyperf/swagger
Ensuite, créez un fichier de configuration swagger.php dans le répertoire config/autoload pour configurer les informations pertinentes du composant Swagger :
<?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); } }
Dans cet exemple de code, nous utilisons Annotations Swagger à indexer La méthode fournit une description, y compris le chemin de l'interface, le code de réponse et d'autres informations.
Après avoir terminé la création du contrôleur et de la page front-end, nous devons démarrer le service Hyperf afin que le front-end puisse communiquer avec le back-end via l'interface.
Utilisez la commande suivante pour démarrer le service Hyperf :
php bin/hyperf.php start
Une fois le service Hyperf démarré avec succès, le développeur front-end peut appeler l'interface back-end en fonction au document d'interface. Ils peuvent utiliser n'importe quelle technologie front-end, telle que JavaScript, Vue.js, React, etc.
Ce qui suit est un exemple de code simple qui montre comment utiliser JavaScript pour appeler l'interface backend :
fetch('http://localhost:9501/demo/index') .then(response => response.json()) .then(data => console.log(data));
Dans cet exemple de code, nous utilisons la fonction fetch pour envoyer une requête GET et utilisons la méthode json() pour analyser le a renvoyé des données de réponse.
Résumé
Grâce aux étapes ci-dessus, nous pouvons utiliser le framework Hyperf pour développer la séparation front-end et back-end. Les développeurs peuvent choisir la technologie front-end qui leur convient en fonction de leurs propres besoins et préférences, et appeler l'interface back-end selon le document d'interface. Les fonctions puissantes et la riche documentation du framework Hyperf peuvent aider les développeurs à développer plus efficacement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!