"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Laravel à aller: mon voyage et la création d'une API Fibre API Playplate

Laravel à aller: mon voyage et la création d'une API Fibre API Playplate

Publié le 2025-03-12
Parcourir:493

Laravel to Go: My Journey and the Creation of a Fiber API Boilerplate

Après avoir passé plus de quatre ans immergé dans Laravel, je suis devenu très familier avec l'architecture MVC (modèle-visual-contrôleur). Sa simplicité et sa structure en font une joie de travailler, et les dossiers soigneusement organisés de Laravel aident les développeurs à rester sur la bonne voie. Vous savez toujours où placer votre code et les outils intégrés étendus - les connexions pour la catabase, les redis, les files d'attente, les migrations, l'ORM, et plus encore - assurez-vous de la configuration transparente. Avec seulement quelques ajustements dans votre environnement, votre application est prête à partir.

Pour moi, l'approche MVC de Laravel reste l'une des plus robustes. Le modèle définit vos données, la visualisation détermine ce que les utilisateurs voient, et le contrôleur gère votre logique métier. Il est simple mais structuré, et Laravel fournit cette configuration par défaut, ce qui en fait un excellent cadre pour le développement.

Mais à mesure que ma carrière avançait et que je travaillais dans les industries et les entreprises, j'ai réalisé que l'approche MVC de Laravel n'était pas toujours suffisante, en particulier pour des applications complexes.


Extension du MVC de Laravel pour la complexité

MVC brille pour des applications simples mais peut échouer lorsque la logique devient plus complexe. Par exemple, lors de l'utilisation de Laravel pour les API, la couche visualiser n'est souvent pas utilisée. Pendant ce temps, mettre toute la logique dans les contrôleurs peut rapidement conduire à des fichiers gonflés difficiles à maintenir.

Pour résoudre ce problème, j'ai étendu la structure MVC de Laravel en introduisant service et Repository couches, créant un flux comme ceci:

Controller → Service → Repository → Modèle

  • contrôleur : gère la validation et dirige le flux d'application.
  • Service : gère la logique métier, divisée en fonctions réutilisables.
  • Repository : gère les interactions de base de données.
  • modèle : définit la structure de données.

Cette approche en couches rend le code plus maintenable et évolutif. Au fil du temps, je suis devenu tellement habitué à cette structure qu'il semblait naturel de l'adopter dans d'autres projets.


Entrez Go: un tout nouveau défi

Quand j'ai commencé à travailler avec Go (Golang), c'était comme entrer dans un territoire inexploré. GO est assez différent de PHP et n'a pas de structure de dossiers inhérente. Ce n'est pas non plus une langue orientée objet, donc je ne pouvais pas simplement reproduire ce que je savais de Laravel.

Après quelques essais et erreurs, j'ai décidé de m'en tenir à ce que je connaissais: le concept csrm (contrôleur, service, référentiel, modèle). J'ai adapté cette structure pour y aller, même si elle a nécessité une pensée créative. De plus, j'ai exploré des cadres qui pourraient simplifier le développement. J'ai essayé gin et fibre , finalement en choisissant la fibre pour sa vitesse, ses fonctionnalités modernes et sa communauté active.


La naissance de mon chaudronage API à fibre

Après plus de deux ans de travail avec Go and Fiber, j'ai décidé de créer un chauffeur pour rationaliser le développement de l'API. Ce n'était pas seulement pour moi - je voulais aussi aider les autres à installer rapidement leurs projets.

Le résultat: Fibre API Boilerplate .

Cette chauffe-plaque est spécifiquement pour les API, donc elle n'inclut pas de fonctionnalités comme le rendu de vue ou les moteurs de modèle. La structure du dossier s'inspire de:

  • Normes de mise en page du projet Golang
  • Gist de la disposition du projet d'Ayoub Zulfiqar

J'ai également emprunté de nombreuses idées à Laravel, comme ORM, les connexions de base de données, Redis, files d'attente et authentification. Bien que ce ne soit pas aussi complet que Laravel, il est plus que suffisant pour construire des API générales.


Caractéristiques de la passerelle

voici ce que l'offre actuellement le chaudron:

  1. Authentification : gestion de l'utilisateur simplifié hors de la boîte.
  2. Rapport d'erreur : intégré à Sentry.
  3. Application Monitoring : utilise une nouvelle relique pour les informations en temps réel.
  4. rechargement chaud : inclut l'air pour un développement plus rapide.
  5. CODE STATIQUE CHECKS : utilise golangci-lint.
  6. Documentation de l'API : support de fanfaron intégré via Swag.
  7. Injection de dépendance : alimenté par Google Wire.
  8. Déploiement : est livré avec Docker et le superviseur pour un déploiement transparent.

Le référentiel inclut également un exemple de code et un de lecture détaillée pour vous guider à travers chaque dossier et fonctionnalité.


Construire pour l'avenir

Bien que la buissier soit déjà fonctionnelle, j'ai l'intention de l'étendre davantage en ajoutant des outils tels que des migrations, des écouteurs d'événements et des commandes. Il s'agit d'un projet évolutif conçu pour se développer avec ses utilisateurs.

Vous êtes les bienvenus à explorer et à utiliser la buissier. N'hésitez pas à le personnaliser - Ajoutez des outils que vous aimez ou en supprimez ceux dont vous n'avez pas besoin. Si vous avez des suggestions ou des demandes de fonctionnalités, créez un problème ou soumettez une demande de traction.


Commencer

Découvrez la boileuse-plaque de fibre Fibre et prenez-le pour un spin. J'espère que cela aide à simplifier votre parcours de développement API Go autant que pour moi. Construisons quelque chose d'incroyable ensemble!

Déclaration de sortie Cet article est reproduit à: https://dev.to/granitebps/laravel-to-go-my-journy-and-the-creation-of-a-fiber-api-boilerplate-2pll?1 s'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3