"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Laravel To Go : 나의 여행과 섬유 API 보일러 플레이트 생성

Laravel To Go : 나의 여행과 섬유 API 보일러 플레이트 생성

2025-03-12에 게시되었습니다
검색:942

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

4 년 이상 Laravel에 몰입 한 후 MVC (Model-View-Controller) 아키텍처에 매우 익숙해졌습니다. 단순성과 구조와 함께 일하는 것이 기쁨이되며 Laravel의 신중하게 정리 된 폴더는 개발자가 추적을 유지하는 데 도움이됩니다. 코드를 어디에 배치 할 것인지 항상 알고 있습니다. 광범위한 내장 도구 (디자베이스 연결, Redis, 대기열, 마이그레이션, ORM 등)는 설정을 원활하게 만들 수 있습니다. 환경에 대한 몇 가지 조정만으로도 앱이 갈 준비가되었습니다.

Laravel의 MVC 접근 방식은 가장 강력한 것 중 하나입니다. 모델 은 데이터를 정의하고 보기 는 사용자가 보는 내용을 결정하고 컨트롤러

는 비즈니스 로직을 관리합니다. 간단하면서도 구조화되어 있으며 Laravel은 기본적 으로이 설정을 제공하여 개발을위한 훌륭한 프레임 워크가됩니다.

그러나 내 경력이 진보하고 산업 및 비즈니스에서 일하면서 Laravel의 MVC 접근 방식이 항상 복잡한 응용 프로그램에 충분하지 않다는 것을 깨달았습니다.

복잡성을 위해 Laravel의 MVC를 확장합니다

MVC는 간단한 응용 프로그램을 위해 빛나지 만 논리가 더 복잡해지면 부족할 수 있습니다. 예를 들어, API에 Laravel을 사용할 때 보기

레이어는 종종 사용되지 않습니다. 한편, 모든 논리를 컨트롤러에 넣으면 유지하기 어려운 파일이 신속하게 이어질 수 있습니다.

이 문제를 해결하기 위해 서비스 리포지토리 레이어를 소개하여 Laravel의 MVC 구조를 확장하여 다음과 같은 흐름을 만듭니다 :

컨트롤러 → 서비스 → 저장소 → 모델

  • 컨트롤러 : 유효성 검사를 처리하고 응용 프로그램 흐름을 지시합니다.
  • Service : 비즈니스 로직을 관리하고 재사용 가능한 기능으로 나뉩니다.
  • 저장소 : 데이터베이스 상호 작용을 관리합니다.
  • 모델 : 데이터 구조를 정의합니다.

이 계층화 된 접근 방식은 코드를보다 관리 가능하고 확장 가능하게 만듭니다. 시간이 지남에 따라 나는이 구조에 너무 익숙해되어 다른 프로젝트에서 그것을 채택하는 것이 자연 스럽습니다.


Go : 완전히 새로운 도전

내가 Go (Golang)와 함께 일하기 시작했을 때, 그것은 미지의 영역으로 들어가는 것 같은 느낌이 들었습니다. GO는 PHP와는 상당히 다르고 고유 한 폴더 구조가 부족합니다. 또한 객체 지향 언어가 아니므로 Laravel에서 알고있는 것을 간단히 복제 할 수 없었습니다.

약간의 시행 착오 후, 나는 내가 친숙한 것을 고수하기로 결정했다 : csrm 개념 (컨트롤러, 서비스, 저장소, 모델). 창의적 사고가 필요했지만이 구조를 적용했습니다. 또한 개발을 단순화 할 수있는 프레임 워크를 탐색했습니다. 나는 gin fiber 를 시도했으며 궁극적으로 속도, 현대적인 기능 및 활성 커뮤니티를위한 섬유를 선택했습니다.


섬유 API 보일러 플레이트의 탄생

GO 및 Fiber와 함께 2 년 이상 작업 한 후 API 개발을 간소화하기 위해 보일러 플레이트를 만들기로 결정했습니다. 이것은 나에게만 적합한 것이 아니라 다른 사람들이 자신의 프로젝트를 신속하게 설정하도록 돕고 싶었습니다.

결과 : 섬유 API 보일러 플레이트 .

이 보일러 플레이트는 특별히 API를위한 것이므로 뷰 렌더링 또는 템플릿 엔진과 같은 기능은 포함되지 않습니다. 폴더 구조는 다음에서 영감을 얻습니다.

  • Golang 프로젝트 레이아웃 표준
  • Ayoub Zulfiqar의 프로젝트 레이아웃 GIST

나는 또한 ORM, 데이터베이스 연결, Redis, 대기열 및 인증과 같은 Laravel에서 많은 아이디어를 빌 렸습니다. Laravel만큼 포괄적이지는 않지만 일반 API를 구축하기에 충분합니다.


보일러 플레이트의 특징

보일러 플레이트가 현재 제공하는 내용은 다음과 같습니다.

  1. 인증 : 상자에서 단순화 된 사용자 관리.
  2. 오류보고 : Sentry와 통합.
  3. 응용 프로그램 모니터링 : 실시간 통찰력을 위해 새로운 유물을 사용합니다.
  4. Hot Reload : 더 빠른 개발을위한 공기가 포함되어 있습니다.
  5. 정적 코드 점검 : golangci-lint를 사용합니다.
  6. API 문서 : Swag를 통한 내장 Swagger 지원.
  7. 종속성 주입 : Google 와이어로 구동됩니다.
  8. 배포 : Seamless Deployment의 Docker 및 Supervisor와 함께 제공됩니다.

리포지토리에는 예제 코드와 자세한 readme 가 포함되어 각 폴더 및 기능을 안내합니다.


미래를위한 건축

보일러 플레이트는 이미 기능적이지만 마이그레이션, 이벤트 리스너 및 명령과 같은 도구를 추가하여 더 확장 할 계획이 있습니다. 사용자와 함께 성장하도록 설계된 진화하는 프로젝트입니다.

보일러 플레이트를 탐색하고 사용하는 것이 좋습니다. 원하는 도구를 사용하거나 필요하지 않은 도구를 사용자 정의하십시오. 제안 또는 기능 요청이있는 경우 문제를 만들거나 풀 요청을 제출하십시오.


시작하세요

Fiber API BoilerPlate 를 확인하고 스핀을 받으십시오. GO API 개발 여정을 나와 마찬가지로 단순화하는 데 도움이되기를 바랍니다. 함께 놀라운 것을 만들어 봅시다!

릴리스 선언문 이 기사는 https://dev.to/granitebps/laravel-to-go-my-journey-and-the-creation-of-a fiber-api-boilerplate-2pll?1에서 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3