후행 쉼표(trailing comma)는 PHP 7.2 버전부터 도입된 문법으로, 배열의 마지막 요소 뒤에 쉼표를 붙일 수 있게 해줍니다. 이 문법을 활용하면 새로운 요소를 추가할 때 마지막 줄을 수정하지 않아도 되므로 코드 관리가 훨씬 편리해집니다. 또한 버전 관리 시스템(Git 등)에서 불필요한 diff가 발생하지 않아 협업 시에도 유용합니다.
PHP 8.0 이전의 후행 쉼표
PHP 8 이전 버전에서는 함수나 메서드의 마지막 매개변수 뒤에 쉼표를 붙이는 것이 허용되지 않았습니다. 아래와 같은 코드는 문법 오류로 처리되었습니다.
function($x,$y,$z){
}
PHP 8.0에서의 변화
PHP 8.0부터는 마지막 매개변수 뒤에도 후행 쉼표를 붙일 수 있습니다. 즉, 매개변수 목록(parameter list)과 클로저의 use 목록(closure use list)에서 후행 쉼표 사용이 공식적으로 지원됩니다.
function($x,$y,$z,){}
예제: 함수, 메서드, 클로저 호출에서 후행 쉼표 활용하기
<?php
function EmployeeAdd(string $country, string $city, string $street): string {
return $country . ', ' . $city. ', ' . $street;
}
$result = employeeAdd(
'India',
'Bangalore',
'Indira Nagar',
);
print_r($result);
?>
출력 결과
India, Bangalore, Indira Nagar
위 예제처럼 인자를 여러 줄에 나눠 작성할 때 각 줄 끝에 쉼표를 붙여두면, 나중에 새로운 인자를 추가하거나 기존 인자를 삭제할 때 해당 줄만 수정하면 됩니다.
예제: PHP 8에서 여러 인자와 함께 후행 쉼표 사용하기
<?php
function method_with_many_arguments(
$x,
$y,
$z,
)
{
var_dump("shows valid syntax");
}
method_with_many_arguments(
1,
2,
3,
4,
);
?>
출력 결과
string(18) "shows valid syntax"
이처럼 PHP 8.0의 후행 쉼표는 긴 매개변수 목록이나 다중 인자를 다루는 코드의 가독성과 유지보수성을 크게 향상시켜 줍니다. 특히 프레임워크나 대규모 프로젝트에서 자주 변경되는 함수 시그니처를 관리할 때 그 진가를 발휘합니다.