"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Laravel para ir: minha jornada e a criação de uma placa de caldeira de API de fibra

Laravel para ir: minha jornada e a criação de uma placa de caldeira de API de fibra

Postado em 2025-03-12
Navegar:863

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

Depois de gastar mais de quatro anos imersos em Laravel, eu me familiarizei muito com a arquitetura MVC (Model-View-Controller). Sua simplicidade e estrutura tornam uma alegria trabalhar com as pastas cuidadosamente organizadas de Laravel, ajudam os desenvolvedores a permanecer no caminho certo. Você sempre sabe onde colocar seu código e as extensas ferramentas embutidas-conexões de dados, redis, filas, migrações, ORM e muito mais-fazem configuração perfeita. Com apenas alguns ajustes no seu ambiente, seu aplicativo está pronto para ir.

Para mim, a abordagem do MVC de Laravel continua sendo uma das mais robustas. O modelo define seus dados, a visualização determina o que os usuários veem e o controller gerencia sua lógica de negócios. É simples, mas estruturado, e o Laravel oferece essa configuração por padrão, tornando -a uma excelente estrutura para o desenvolvimento.

Mas, à medida que minha carreira avançou e eu trabalhei em indústrias e empresas, percebi que a abordagem do MVC de Laravel nem sempre era suficiente, especialmente para aplicações complexas.


Estendendo o MVC de Laravel para complexidade

brilha para aplicativos simples, mas pode ficar aquém quando a lógica se torna mais complexa. Por exemplo, ao usar o Laravel para APIs, a camada visualiza geralmente não é utilizada. Enquanto isso, colocar toda a lógica nos controladores pode levar rapidamente a arquivos inchados que são difíceis de manter.

Para abordar isso, estendi a estrutura do MVC de Laravel, introduzindo o serviço Service e repositório , criando um fluxo como este:

controlador → Serviço → Repositório → Model

  • controlador : lida com a validação e direciona o fluxo do aplicativo.
  • serviço : gerencia a lógica de negócios, dividida em funções reutilizáveis.
  • repositório : gerencia interações do banco de dados.
  • Model : define a estrutura de dados.

Esta abordagem em camadas torna o código mais sustentável e escalável. Com o tempo, fiquei tão acostumado a essa estrutura que parecia natural adotá -la em outros projetos.


Entre Go: um novo desafio

Quando comecei a trabalhar com Go (Golang), parecia entrar em um território desconhecido. O GO é bem diferente do PHP e não possui uma estrutura de pastas inerente. Também não é uma linguagem orientada a objetos, então eu não conseguia simplesmente replicar o que sabia de Laravel.

Após alguma tentativa e erro, decidi manter o que eu estava familiarizado: o conceito csrm (controlador, serviço, repositório, modelo). Adaptei essa estrutura, mesmo que exigisse algum pensamento criativo. Além disso, explorei estruturas que poderiam simplificar o desenvolvimento. Eu tentei gin e fiber , escolhendo a fibra por sua velocidade, recursos modernos e comunidade ativa.


O nascimento do meu caldeira de API de fibra

Após mais de dois anos trabalhando com Go e Fiber, decidi criar um Boilerplate para otimizar o desenvolvimento da API. Isso não era apenas para mim - eu queria ajudar outras pessoas a criar seus projetos rapidamente também.

o resultado: fibra API Boilerplate .

Este boilerplate é especificamente para APIs, por isso não inclui recursos como visualizar mecanismos de renderização ou modelo. A estrutura da pasta se inspira em:

  • Padrões de layout do projeto de Golang
  • Ayoub Zulfiqar Layout

também peguei emprestado muitas idéias da Laravel, como ORM, conexões de banco de dados, redis, filas e autenticação. Embora não seja tão abrangente quanto o Laravel, é mais do que suficiente para a construção de APIs gerais.


Recursos do Boilerplate

aqui está o que o Boilerplate oferece atualmente:

  1. Authentication : Gerenciamento de usuário simplificado fora da caixa.
  2. Erro Relatório : integrado ao Sentry.
  3. Application Monitoring : usa a nova relíquia para insights em tempo real.
  4. Hot Reload : Inclui ar para desenvolvimento mais rápido.
  5. Verifica o código estático : usa o Golangci-Lint.
  6. documentação da API : suporte de swagger interno via SWAG.
  7. injeção de dependência : alimentado pelo Google Wire.
  8. implantação : vem com Docker e Supervisor para implantação sem costura.

O repositório também inclui código de exemplo e um readme detalhado para guiá -lo através de cada pasta e recurso.


Construindo para o futuro

Embora o Boilerplate já esteja funcional, tenho planos de expandi -lo ainda mais, adicionando ferramentas como migrações, ouvintes de eventos e comandos. É um projeto em evolução projetado para crescer com seus usuários.

Você pode explorar e usar o Boilerplate. Sinta -se à vontade para personalizá -lo - adie as ferramentas que você gosta ou remove as que não precisa. Se você tiver sugestões ou solicitações de recursos, crie um problema ou envie uma solicitação de tração.


Comece

Confira o fibra API Boilerplate e leve -o para um spin. Espero que ajude a simplificar sua jornada de desenvolvimento de API GO tanto quanto para mim. Vamos construir algo incrível juntos!

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/granitebps/laravel-to-go-my-journey-and-the-creation-of-a-fiber-api-boilerplate-2pll?1 Se houver alguma infração, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3