Service 계층을 의식한 Laravel의 MVC 모델(개념편)

소개



Laravel에 있어서 개인적인 개발이라면 MVC 모델을 의식해 가면 문제 없을까 생각합니다만, 대규모의 서비스 개발이나 장기적으로 운용하는 것은 보다 레이어의 구조를 의식한 개발을 실시하는 것이, 안정 한 서비스를 운용하는 것에 중요하다고 생각합니다.
그래서 이번에는 Service 레이어를 의식한 Laravel의 MVC 모델에 대해 개념의 습관을 해 나갈 것입니다.

서비스 계층 정보



원래 서비스 계층이란? ?




P of EAA: Service Layer
Laravel의 공식 문서에는 다음이 포함되어 있습니다.

Service providers are the central place of all Laravel application bootstrapping. Your own application, as well as all of Laravel's core services are bootstrapped via service providers.

인용구 : Service Providers - Laravel - The PHP Framework For Web Artisans

"서비스 프로바이더는 Laravel 어플리케이션내의 모든 service가 bootstrap 되는 장소이다"라고 말해지고 있습니다.
service란 각 클래스에서 제공되는 기능과 머리의 한쪽 구석에 넣어 두면 좋을까 생각합니다. 또, bootstrap 한다고 하는 것은, 이벤트 리스너, 미들웨어, 루트등 Laravel 어플리케이션에 필요한 모든 것을 기동하는 것이 됩니다.

구성 및 각 역할




라우팅: 라우팅, 인증, 필터
컨트롤러: HTTP 요청, 요청, 응답
서비스: 사전 조건 검증, 비즈니스 로직
모델: 데이터베이스 액세스, 엔티티별 처리

결국 서비스 계층에서 무엇을 할 것인가?



비즈니스 규칙과 관련된 처리를 설명합니다.
비즈니스 도메인, 사전 조건 검증 및 비즈니스 로직, HTTP 관련 이외(array 및 object로 전달) 등입니다.
예를 들어 EC로 말하면 재고가 없으면 주문을 확정할 수 없는 등 비즈니스 규칙에 따라 주문 확정시키는 주 처리 등입니다.

끝에



개념적인 것만이 되어 버렸으므로 다음번에 실제로 어떤 느낌에 사용하는지 정리해 갑니다.
참고:
Laravel에서 서비스 계층을 통합 할 때 고려해야 할 사항 - Qiita
레이어드 아키텍처를 의식한 PHP 애플리케이션 구축

좋은 웹페이지 즐겨찾기