[code]
├── plugin/api (플러그인에 위치)
│ ├── BaseController.php (기본적인 컨트롤러 다른 컨트롤러들이 상속)
│ ├── BoardController.php (게시판용 컨트롤러)
│ ├── BoardDAO.php (게시판용 데이타 및 DB 접근 처리)
│ ├── BoardService.php (게시판 로직 처리용. 그누보드 board.php 컨버팅 코드 들어감)
│ ├── HelloController.php (샘플용 테스트 컨트롤러)
│ ├── ImageUploadService.php (이미지 업로드 처리용 클래스.. 썸네일 서비스등)
│ ├── MemberController.php (회원 관련 컨트롤러, 가입, 로그인, 로그아웃 처리등)
│ ├── MemberDAO.php (회원 관련 데이타 처리.)
│ ├── MemberService.php (회원 관련 로직 처리 클래스)
│ ├── Router.php (라우터 처리 클래스... bramus/router 커스텀)
│ ├── SimpleDB.php (PDO DB를 좀더 쉽게 쓸수 있게 처리한 wrapper 클래스)
│ ├── _common.php (그누보드 호환용.. 없어도 됨)
│ ├── autoload.php (클래스 파일 로딩용 오토로더)
│ └── index.php (라우터 및 api 핵심로직 파일)
[/code]
만들고 있는 파일 디렉토리 입니다.
파일구조만 잡아둔 상태고, 아직 본격적인 개발전 입니다.
디렉토리 구조도 많이 고민을 했는데,
1. composer 를 쓰지 않는 대신 autotoload 를 사용
2. 네임스페이스는 사용하지 않음. 사용하는것이 디렉토리를 좀더 체계적으로 관리할수 있지만, 복잡성을 줄이는게 목표임으로 배제하였습니다.
- 네임스페이스를 사용한다면, src/Controllers, src/Service 형태의 폴더가 추가되었을겁니다.
3. ORM은 사용하지 않습니다. JWT도 사용하지 않습니다. composer의 도움을 받거나, 파일수가 많은건 모두 배제하였습니다. 최대한 구조를 간결하게 하여, 코드를 이해하기 쉽게 만드는게 방향입니다.(코드 리딩이 쉽게..)
4. 데이타 처리를 하는 클래스명을 Model을 쓸지, DAO을 쓸지 고민했는데, Model은 프로퍼티가 존재하는게 맞는것 같고, 데이타 처리 클래스에 프로퍼티 없이, getMember(), createMember() 형태의 메소드만 존재함으로 DAO가 좀더 의미가 맞아보였습니다.
댓글 3개
게시글 목록
| 번호 | 제목 |
|---|---|
| 161 | |
| 160 | |
| 150 | |
| 149 | |
| 141 | |
| 139 | |
| 138 | |
| 132 | |
| 127 | |
| 123 | |
| 117 | |
| 116 | |
| 114 | |
| 111 | |
| 109 | |
| 103 | |
| 101 | |
| 99 | |
| 93 | |
| 90 | |
| 84 | |
| 79 | |
| 66 | |
| 48 | |
| 47 | |
| 43 | |
| 37 | |
| 36 | |
| 34 | |
| 33 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기