2.2 KiB
2.2 KiB
코딩 컨벤션 (Coding Convention)
PHP 8.2+, CodeIgniter 4 기준. Auth·MemberModel·MemberLogModel 스타일을 따른다.
1. PHP 기본
- 네임스페이스:
App\Controllers,App\Models,Config등 CI4 규칙 준수. - 클래스명: PascalCase. 컨트롤러는 단수/역할명(
Auth,Home). 모델은~Model접미사(MemberModel). - 메서드명: camelCase. 동사+명사(
showLoginForm,findByLoginId). - 상수: 클래스 상수는
UPPER_SNAKE_CASE(MB_STATE_NORMAL,LEVEL_SUPER_ADMIN). - private/protected: 비공개 로직은
private메서드로 분리(예:buildLogData,insertMemberLog).
2. 타입·공백
- 메서드 인자·반환 타입 선언 권장. 예:
function findByLoginId(string $mbId): ?object,function buildLogData(string $mbId, ?int $mbIdx): array. - 연산자·쉼표 뒤 공백.
if (! $this->validate(...))처럼!뒤 공백. - 배열 키·값 정렬 시 화살표 정렬로 가독성 유지(선택).
3. 네이밍 규칙 요약
| 구분 | 규칙 | 예시 |
|---|---|---|
| 컨트롤러 | PascalCase, 단수/역할 | Auth, Home, Admin\User |
| 메서드 | camelCase | showLoginForm, login, create, store |
| 뷰 폴더 | 소문자, 컨트롤러 대응 | auth/, home/, admin/user/ |
| 뷰 파일 | 소문자, 언더스코어 가능 | login.php, register.php, daily_inventory.php |
| 라우트 URI | 소문자, 케밥 또는 경로 | login, logout, admin/users |
| 모델 | PascalCase + Model | MemberModel, MemberLogModel |
| 테이블 | 소문자, 언더스코어 | member, member_log |
| 테이블 PK | 테이블 약어_idx | mb_idx, mll_idx |
| 테이블 컬럼 | 테이블 약어_컬럼명 | mb_id, mb_name, mll_regdate |
4. 주석
- 클래스 상단·복잡한 비즈니스 로직에 한글 주석 허용. 예:
/** mb_state: 1=정상, 2=정지, 0=탈퇴 */. - PHPDoc:
@param,@return,@var등 필요 시 사용.
5. Config 참조
- 설정은
config('Roles'),config('App')등으로 접근.config('Roles')->getLevelName($level)형태 사용.
이 컨벤션을 지키면 Auth와 동일한 코드 스타일로 유지된다.