PHP7은 스칼라 유형 선언의 기능을 소개하여 개발자가 기능 매개 변수 및 리턴 값에 대한 데이터 유형을 명시 적으로 지정할 수 있도록합니다. 이 기능은 코드의 신뢰성을 향상시킬뿐만 아니라 유지 관리 가능성을 향상시킵니다. 이 기사는 PHP7에서 스칼라 유형 선언을 사용하고 관련 예를 제시하는 방법을 소개합니다.
PHP7 이전에 PHP는 동적으로 입력 한 언어였으며 변수의 데이터 유형은 할당에 의해 자동으로 결정되었습니다. 이 유연성은 경우에 따라 유리하지만, 찾기 어려운 오류로 이어질 수 있습니다. 예를 들어, 함수에서 매개 변수 유형이 유효성이없는 경우 잘못된 데이터 유형을 전달하면 런타임 오류가 발생할 수 있습니다.
PHP7의 스칼라 유형 선언은 함수 매개 변수 및 리턴 값에 대한 4 가지 스칼라 유형을 지정할 수 있습니다 : int (int), float (float), string (string) 및 bool (boolean). 스칼라 유형 선언을 사용하면 개발자는 데이터 유형을보다 명시 적으로 처리 할 수 있으므로 일반적인 실수를 피할 수 있습니다.
다음은 스칼라 유형을 사용하여 선언 된 예제 기능입니다.
function multiply(int $a, int $b): int {
return $a * $b;
}
echo multiply(5, 10); // 산출 50
echo multiply(5, '10'); // 오류를보고하십시오:Argument 2 must be of the type integer, string given
이 예에서는 Multiply 함수의 인수 및 리턴 값이 int 유형으로 선언됩니다. 두 정수를 통과하면 함수가 정상적으로 실행되고 올바른 결과를 반환합니다. 그러나 정수와 문자열이 전달되면 PHP는 두 번째 매개 변수가 정수 유형이어야한다는 오류를보고합니다. 이는 잘못된 매개 변수 유형을 처리하지 않으며 기능 동작의 신뢰성을 보장합니다.
일반 스칼라 유형 외에도 일부 특수 유형을 사용하여 데이터 유형을 추가로 제한 할 수 있습니다. 예를 들어, bool 유형을 사용하여 함수 매개 변수를 부울 값으로 제한 할 수 있습니다.
function isAdult(bool $isAdult): string {
if ($isAdult) {
return '성인';
} else {
return '未성인';
}
}
echo isAdult(true); // 산출 성인
echo isAdult(1); // 산출 성인
echo isAdult(false); // 산출 未성인
echo isAdult(0); // 산출 未성인
이 예에서, IsAdult 함수의 매개 변수는 BOOL 유형으로 선언되며 리턴 값은 문자열 유형으로 선언됩니다. 이렇게하면 함수의 매개 변수가 부울 값 만 가능하고 리턴 값은 문자열 일 수 있습니다.
스칼라 유형 선언은 함수의 매개 변수뿐만 아니라 반환 값 유형에도 적용됩니다. 반환 값에 대한 유형을 지정함으로써 발신자는 반환 된 데이터 유형을보다 명확하게 알 수 있습니다. 예를 들어:
function divide(int $a, int $b): float {
return $a / $b;
}
echo divide(10, 2); // 산출 5.0(부동 소수점 번호)
echo divide(10, 3); // 산출 3.3333333333333(부동 소수점 번호)
위의 예에서, 분할 함수의 매개 변수 및 반환 값은 각각 int 및 float 유형으로 선언됩니다. 결과가 부동 소수점 번호 인 경우에도 리턴 값은 플로트 유형으로 명시 적으로 선언되어 기능의 동작을 더 잘 이해하고 정확하게 처리하는 데 도움이됩니다.
스칼라 유형 선언은 데이터 유형을 시전하지 않습니다. 들어오는 데이터 유형이 일치하지 않으면 PHP는 자동으로 유형 변환을 수행하려고 시도합니다. 예를 들어, 문자열 '10'을 예상 정수에 인수로 전달할 때 PHP는 자동으로 정수로 변환합니다. 그러나 개발자는 여전히 불필요한 유형 변환을 피하기 위해 데이터 유형이 가능한 한 일치하도록해야합니다.
요컨대, PHP7의 스칼라 유형 선언을 사용하면 코드를보다 명확하고 신뢰할 수 있습니다. 매개 변수를 전달할 때 개발자가 오류를 줄이고 코드를 더 쉽게 유지하고 이해할 수 있도록 도와줍니다. 스칼라 유형 선언은 필수는 아니지만 고품질 PHP 코드를 개발하기위한 좋은 관행입니다.