PHP 코드 작성 및 PSR 코딩 컨벤션
PHP 코드는 단순한 웹 템플릿 마크업 출력부터 복잡한 엔터프라이즈급 백엔드 API 설계까지 유연하게 구현할 수 있는 언어입니다.
여러 개발자 및 프레임워크 생태계(Laravel, Symfony 등)가 소스코드를 서로 공유하고 협업하기 위해, PHP는 공통의 코드 스타일 규칙인 PSR(PHP Standard Recommendation) 표준안을 채택하여 준수하고 있습니다.
이 장에서는 올바른 코드 파일 구조 설계 규칙과 필수 코딩 컨벤션에 대해 학습합니다.
1. PHP 소스 구조 및 PSR-12 코딩 표준 가이드
아래 다이어그램은 PHP 소스 파일이 지녀야 할 네임스페이스와 클래스, 멤버 변수, 제어문들의 코드 배치 규칙과 브레이스({}) 줄바꿈 규칙(PSR-12)을 시각화한 구조입니다.
2. 핵심 코딩 컨벤션 표준 (PSR-1 & PSR-12)
공식 PHP-FIG(PHP Framework Interop Group)에서 발표한 표준 스타일링 규칙 중, 실제 실무에서 반드시 지켜야 할 가장 핵심적인 가이드라인은 다음과 같습니다.
1) 파일 서식 및 기호 표준 (PSR-1)
- 파일 인코딩: 모든 PHP 소스 파일은 반드시 BOM(Byte Order Mark)이 없는 UTF-8 형식으로 인코딩하여 저장해야 합니다.
- 부작용 방지 (Side Effects): 하나의 PHP 파일 내에서 함수나 클래스 같은 선언(Declaration) 코드와, 화면에 HTML을 출력하거나 데이터베이스를 조작하는 실행(Side Effect) 코드를 동시에 결합하여 기입하지 않는 것을 원칙으로 합니다. 파일은 선언용이거나 실행용이거나 둘 중 하나의 성격만 가지도록 완전히 분리합니다.
2) 확장 스타일 규칙 (PSR-12)
- 들여쓰기 규칙: 소스코드의 들여쓰기를 할 때 탭(Tab) 문자를 사용하는 것을 절대 금지하며, 오직 4개의 빈 공백(Spaces)을 들여쓰기 기본 단위로 강제합니다.
- 클래스 및 메소드 브레이스
{}: 클래스 선언과 함수(메소드) 선언문의 뒤에 오는 시작 중괄호{는 같은 행에 나란히 쓰지 않고, 반드시 다음 줄(Next Line)에 단독으로 행갈이하여 표기합니다. - 제어 구조 브레이스
{}:if,elseif,foreach,while등 조건/반복 제어문 뒤의 시작 중괄호{는 제어문 키워드와 한 칸 띄우고 반드시 동일한 행(Same Line)에 나란히 표기합니다. - 식별자 명명 규칙 (Naming Conventions):
- 클래스명: 첫 글자를 대문자로 시작하는 단어 조합인
PascalCase(StudlyCaps)로 정의합니다 (예:UserHandler). - 메소드명 & 함수명: 첫 글자를 소문자로 시작하는
camelCase로 정의합니다 (예:getUserData). - 상수명: 전체를 영문 대문자로 구성하고 단어 사이를 언더스코어로 구분하는
UPPER_SNAKE_CASE로 정의합니다 (예:MAX_LIMIT).
- 클래스명: 첫 글자를 대문자로 시작하는 단어 조합인
3. 기본 구문 구성 요소 바로가기
컨벤션 표준과 더불어, 실제 코드가 작성되고 터미널 및 브라우저에서 실행되는 내부 메커니즘을 아래의 세부 학습 링크들을 통해 단계별로 알아봅니다.
📁 기본 구조
📁 구분 처리 및 해석
📁 설명문 및 가독성
📁 출력 제어
📁 실행 및 검증
📁 구문 규칙과 기호
다음 장에서는 소스코드 파일을 최초로 열고 텍스트를 기입하여 스크립트로 동작시키는 편집 툴 활용 방안을 배웁니다.
- 다음 학습: PHP 작성하기 및 편집 툴 활용
이전 학습
« 내부함수 (Built-in)
서브목차