왜 PHLEXMOD를 만들었는가: 과도한 엔지니어링에 지친 사람들을 위한 PHP 프레임워크
Source: Dev.to
기업용 관리 시스템을 위한 실용적인 접근
수년간 관리 시스템(급여, 재고, 조직도, 사용자 관리)을 개발해 왔습니다. 항상 같은 딜레마에 직면했죠:
- Laravel/Symfony: 강력하지만 모든 것을 위해 설계되었습니다. CRUD 하나만 만들기 위해 200개의 의존성을 로드하게 됩니다.
- 마이크로서비스: 이론상 멋지지만, 작은 팀에게는 운영 지옥입니다.
- 스파게티 코드: 처음엔 빠르지만, 나중에 유지보수가 불가능합니다.
중간 지점은 어디인가?
여러 번의 실패 프로젝트와 고통스러운 리팩터링을 겪은 뒤, 저는 MIA라는 세 가지 원칙을 정리했습니다:
-
자체 포함 모듈 – 각 모듈은 엔드포인트, 로직, UI가 들어 있는 하나의 폴더입니다.
- 모듈을 삭제하는 것은 숨겨진 의존성 없이 폴더를 삭제하는 것만큼 간단합니다.
backend/modules/ ├── nomina/ │ ├── endpoints/ │ ├── js/ │ └── ui/ ├── usuarios/ │ ├── endpoints/ │ ├── js/ │ └── ui/ -
명시적 커뮤니케이션 – 엔진과 모듈은 명확한 설정 객체를 통해 소통합니다; 들어오고 나가는 것이 정확히 무엇인지 알 수 있습니다.
-
필수 정제 구역 – 모든 진입점에는 정제 구역이 존재합니다; 선택 사항이 아니며, 잊어버릴 수 있는 미들웨어가 아닙니다.
주요 특징
- 동적 모듈 엔진: 사용자 권한(RBAC) 기반으로 모듈을 로드합니다.
- CLI(
phlex): 모듈, 엔드포인트, 마이그레이션 스캐폴딩을 지원합니다. - 다국어 지원: 기본 제공 8개 언어.
- WebSockets: 실시간 알림.
- 네이티브 템플릿 시스템: Blade나 Twig 없이 순수 PHP와 깔끔한 분리를 제공합니다.
지금 바로 체험해 보세요
🔗 https://phlexmod.jagmedia.com.ve
테스트 계정
- 사용자:
demo - 비밀번호:
PhlexDemo2025!
PHLEXMOD는 누구를 위한 것인가?
이상적인 대상
- ✅ 관리 시스템을 구축하는 PHP 개발자.
- ✅ 구조는 필요하지만 관료주의는 원하지 않는 소규모 팀.
- ✅ “모듈을 삭제한다”는 작업이 간단해야 하는 프로젝트.
권장되지 않는 경우
- ❌ 순수 REST API(이 경우 Laravel/Lumen 사용).
- ❌ 프론트엔드가 별도인 SPA(선호하는 JS 프레임워크 사용).
문서 및 소스 코드
이 도구는 라틴아메리카 기업 프로젝트에서 실제 필요에 의해 탄생했습니다.
열린 질문
- MIA 접근 방식이 타당하다고 생각하시나요?
- 무엇을 추가하거나 빼고 싶으신가요?
- 이런 방식을 사용하시겠습니까, 아니면 Laravel에 머무르시겠습니까?