PHP8은 인수라는 이름의 많은 관심을 끌었던 새로운 기능을 시작했습니다. 이러한 방식으로 개발자는 위치 순서에 의존하지 않고 함수를 호출 할 때 각 매개 변수의 이름을 명시 적으로 지정할 수 있습니다. 이 변화는 코드의 가독성과 유지 가능성을 크게 향상시킵니다.
이름 지정된 매개 변수를 사용하면 순서 대신 호출 될 때 값을 매개 변수 이름으로 직접 전달할 수 있습니다. 이 작문 방법은 Python 및 JavaScript와 같은 다른 많은 언어로 사용되었습니다. PHP8에서 공식적으로 도입 된 후 기능 호출을보다 직관적이고 명확하게 만들었습니다.
기본 예를 살펴 보겠습니다.
function demo_function($arg1, $arg2, $arg3) {
// 기능 본체
}
// 전통적인 통화 방법
demo_function('Value1', 'Value2', 'Value3');
// 명명 된 매개 변수를 사용하십시오
demo_function(arg1: 'Value1', arg2: 'Value2', arg3: 'Value3');
명명 된 매개 변수는 매개 변수 위치에 의존하지 않으므로 함수 호출을 읽을 때 각 매개 변수의 의미를 이해하기가 더 쉽습니다.
이름이 지정된 매개 변수는 기본 매개 변수를 건너 뛰고 변경 해야하는 값 중 일부만 전달할 수 있습니다.
function demo_function($arg1, $arg2 = 'default2', $arg3 = 'default3') {
// 기능 본체
}
// 만 수정하십시오 $arg1 그리고 $arg3
demo_function(arg1: 'Custom1', arg3: 'Custom3');
이 작문은 여러 선택적 매개 변수가있는 함수에 특히 유용합니다.
많은 함수 매개 변수가 있으면 이름 지정 매개 변수는 코드의 가독성을 크게 향상시킬 수 있습니다. 예를 들어:
function get_formatted_date($year, $month, $day, $hour = 0, $minute = 0, $second = 0) {
// 기능 본체
}
// 정상적인 전화
$data = get_formatted_date(2020, 1, 20, 11, 30, 20);
// 이름이 지정된 매개 변수 호출
$data = get_formatted_date(year: 2020, month: 1, day: 20, hour: 11, minute: 30, second: 20);
이 방법은 통화 의도를 향후 더 명확하고 쉽게 유지할 수 있도록합니다.
명명 된 매개 변수를 사용하면 다음과 같은 이점이 있습니다.
function get_formatted_date($year, $month, $day, $hour = 0, $minute = 0, $second = 0, $timezone = 'UTC') {
// 기능 본체
}
// 새로운 매개 변수를 추가 한 후,여전히 정상적으로 호출 할 수 있습니다
$data = get_formatted_date(year: 2020, month: 1, day: 20, hour: 11, minute: 30, second: 20, timezone: 'America/New_York');
이름이 지정된 매개 변수는 기능 인터페이스의 확장을 더 안전하고 자연스럽게 만듭니다.
명명 된 매개 변수는 PHP8이 가져온 중요한 업그레이드 중 하나이며, 코드 작성은 표현력이 높을뿐만 아니라 매개 변수 오류로 인한 문제를 크게 줄입니다. 새로운 프로젝트를 구축하든 기존 시스템을 유지하든, 명명 된 인수를 도입하면 코드 품질이 크게 향상 될 것입니다. 이미 PHP8을 사용하고 있다면이 새로운 기능을 시도하여 기능 호출 방법을 최적화 할 수 있습니다.