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 툴을 활용해 교정하는 퀴즈를 풀어봅니다.
- 다음 학습: 구문 규칙 예제 퀴즈
이전 학습
« 내부함수 (Built-in)
서브목차