다양한 프레임 워크 또는 엔진을 다운로드하고 대규모 개발 팀이 폴더 레이아웃을 어떻게 처리했는지 확인하는 것이 좋습니다.
파일을 구성하는 방법은 너무 많아서 하나를 선택하고 주어진 프로젝트에서 고수하는 것이 좋습니다. 버그를 피하고 불필요한 시간을 잃지 않도록 완료 또는 수정 될 때까지 특정 규칙을 준수하십시오.
웹 프로젝트 용 Laravel, Symphony 또는 Codeigniter 프레임 워크를 다운로드하여 즉시 폴더 레이아웃을 사용할 수 있습니다.
따라서 모든 개발에 공통적 인 폴더 레이아웃을 전달하려고합니다.
MVC (Model View Controller)는 조직의 좋은 패러다임을 제공합니다.
루트 소스 코드는 src (C ++) 또는 앱 (웹 개발) 일 수 있습니다.
그룹화하는 클래스에 대한 명확한 목표가없는 파일 구조는 확실히 혼란을 야기 할 것입니다. 코드를 구성 할뿐만 아니라 자동 로더, 클래스 팩토리, 로컬 스토리지 랩, 원격 스토리지 및 네임 스페이스를 유지할 수 있습니다.
이 폴더 구조는 Laravel Framework 에서 파생되고 단순화되었습니다 . 이 게시물에 대한 선호는 복수 명명이지만 프로젝트에서 단수형을 사용합니다.
src / storage (모델 / 파일 저장 / api / mysql / sql-lite / memcached / redis 구현)
src / repositories (일부 스토리지 로직, 공통 인터페이스 및 리턴 결과 규칙이있는 '스토리지 구현'래퍼)
src / 서비스 | 논리 | 엔티티 (앱 비즈니스 로직)
src / controllers (웹 개발에서 서버 요청을 서비스로 라우팅하는 데 사용)
src / 모듈 | 시스템 (프레임 워크 일반 기능을 확장하는 모듈 형 시스템. 서비스는 모듈을 사용할 수 있지만 그 반대는 아닙니다)
src / helpers (예 : 문자열 조작과 같은 도우미 또는 래퍼 클래스. 많은 경우 타사에서 libs | vendor에있을 수 있음)
src / types (명명 된 열거 형)
공개 | 빌드 | 출력 (웹 또는 C ++)
config (설정 파일. YAML은 플랫폼 간 구성 파일에 널리 사용됩니다)
은닉처
로그
랭 (en / es / ru / ...)
부트 스트랩 (프레임 워크 및 앱 시작)
docs (마크 다운 형식 .md로 작성된 문서)
테스트 (단위 테스트)
데이터베이스 / 마이그레이션 (처음부터 데이터베이스 구조 작성)
데이터베이스 / 시드 (테스트 할 더미 데이터로 데이터베이스를 채 웁니다)
라이브러리 | 공급 업체 (모든 타사 소프트웨어. C ++의 'libs'및 일반적으로 PHP의 'vendor')
자산 | 리소스 (이미지 / 사운드 / 스크립트 / json / 모든 미디어)