PHP 구문 기호 및 괄호(Bracket) 사용 규칙


프로그래밍 언어에서 코딩을 할 때 괄호나 쉼표 같은 미세한 구문 기호(Syntax Symbols)들을 빠뜨리거나 순서를 틀리면 즉시 컴파일러나 인터프리터 레벨에서 심각한 파싱 오류(Syntax Error)를 출력하며 작동이 중단됩니다.

따라서 문법 구성 요소로서 사용되는 소괄호(), 중괄호{}, 대괄호[]의 고유 용도와 공식 코딩 표준(PSR-12)에 입각한 공백 간격 규칙(Spacing Rules)을 정확하게 파악하고 손에 익히는 것이 중요합니다.


1. 소괄호 (Parentheses - ())


소괄호는 주로 값(Arguments)을 전달하거나, 연산자의 우선순위를 제어할 때, 또는 조건문의 조건식 영역을 정의할 때 사용합니다.

📌 주요 용도

  • 함수 호출 및 정의: 인수를 전달하는 용도
    function calculateScore(int $math, int $english) { // 선언 시 인수 영역
        return ($math + $english) / 2; // 연산 우선순위 결합용 소괄호
    }
      
    $average = calculateScore(95, 80); // 함수 호출 시 데이터 전달
    
  • 제어문 조건식: if, while, switch 등의 조건 지정
    if ($average >= 80) { ... }
    

📌 PSR-12 공백(Spacing) 규칙

  • 소괄호가 시작된 직후 및 닫히기 직전의 내부에는 공백을 삽입하지 않습니다.
    • 오류: calculateScore( 95, 80 )
    • 올바름: calculateScore(95, 80)
  • 여러 인수를 전달할 때 쉼표(,) 뒤에는 반드시 한 칸의 공백(Space)을 부여하여 가독성을 높이며, 쉼표 직전에는 공백을 두지 않습니다.
    • 오류: calculateScore(95 ,80)
    • 올바름: calculateScore(95, 80)


2. 중괄호 (Braces - {})


중괄호는 물리적인 실행 코드들의 그룹(Block Domain)을 묶어서 경계를 정할 때 사용됩니다.

📌 주요 용도

  • 구역(Block) 격리: 함수 본문, 클래스 본문, 조건/반복문의 제어 대상 영역 설정
    class User {
        public function show() { // 메소드 중괄호 블록
            if (true) {          // 제어문 중괄호 블록
                echo "Active";
            }
        }
    }
    

📌 PSR-12 공백(Spacing) 규칙

  • 클래스 및 함수 시작 브레이스: 선언문과 닫는 괄호에서 행을 바꾸어 다음 줄(Next Line)에 단독으로 배치합니다.
  • 제어문 시작 브레이스: 조건식 소괄호 닫기 기호 뒤에 한 칸 띄운 후 동일 행(Same Line)에 나란히 배치합니다.
  • 닫는 브레이스 }: 실행 코드가 종료되면 반드시 단독 행으로 줄바꿈하여 기입합니다.
  • 중괄호가 겹치는 다중 네스팅(Nesting) 구조에서는 코드의 상하 종속 관계를 식별하기 쉽도록 중괄호 내부마다 반드시 스페이스 4칸 들여쓰기(Indentation)를 중첩 부여해야 합니다.


3. 대괄호 (Brackets - [])


대괄호는 복합 자료형인 배열(Array)을 선언하거나, 배열 내부의 특정 원소(Index Key)를 조회 및 변경할 때 사용합니다.

📌 주요 용도

  • 배열 단축 선언 (Short Array Syntax): PHP 5.4부터 array() 대신 대괄호로 배열을 바로 정의할 수 있습니다.
    $fruits = ["Apple", "Banana", "Cherry"];
    
  • 인덱스(키) 참조 조회:
    // 1. 순차배열 (정수형 인덱스 참조 - 0부터 시작)
    echo $fruits[0]; // Apple 출력
      
    // 2. 연상배열 (문자열 키 참조)
    $user = ["name" => "홍길동", "age" => 30];
    echo $user['name']; // 홍길동 출력
    

📌 PSR-12 공백(Spacing) 규칙

  • 배열 참조를 선언할 때 변수명과 대괄호 시작 기호 사이에는 공백을 허용하지 않고 직결합니다.
    • 오류: $fruits [0]
    • 올바름: $fruits[0]



다음 장에서는 학습한 구문 기호 규칙이 어긋났을 때 문법 파서 레벨에서 에러를 확인하고 이를 IDE 툴을 활용해 교정하는 퀴즈를 풀어봅니다.

서브목차