PHP 코드 작성 및 PSR 코딩 컨벤션


PHP 코드는 단순한 웹 템플릿 마크업 출력부터 복잡한 엔터프라이즈급 백엔드 API 설계까지 유연하게 구현할 수 있는 언어입니다.

여러 개발자 및 프레임워크 생태계(Laravel, Symfony 등)가 소스코드를 서로 공유하고 협업하기 위해, PHP는 공통의 코드 스타일 규칙인 PSR(PHP Standard Recommendation) 표준안을 채택하여 준수하고 있습니다.

이 장에서는 올바른 코드 파일 구조 설계 규칙과 필수 코딩 컨벤션에 대해 학습합니다.


1. PHP 소스 구조 및 PSR-12 코딩 표준 가이드


아래 다이어그램은 PHP 소스 파일이 지녀야 할 네임스페이스와 클래스, 멤버 변수, 제어문들의 코드 배치 규칙과 브레이스({}) 줄바꿈 규칙(PSR-12)을 시각화한 구조입니다.

PHP 코딩 컨벤션 가이드


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. 기본 구문 구성 요소 바로가기


컨벤션 표준과 더불어, 실제 코드가 작성되고 터미널 및 브라우저에서 실행되는 내부 메커니즘을 아래의 세부 학습 링크들을 통해 단계별로 알아봅니다.

📁 기본 구조

📁 구분 처리 및 해석

📁 설명문 및 가독성

📁 출력 제어

📁 실행 및 검증

📁 구문 규칙과 기호



다음 장에서는 소스코드 파일을 최초로 열고 텍스트를 기입하여 스크립트로 동작시키는 편집 툴 활용 방안을 배웁니다.

서브목차