PHP 함수 매개변수 유형을 엄격하게 검사하면 전달된 매개변수가 선언된 유형과 일치하는지 확인할 수 있습니다. 선언(strict_types=1)을 통해 활성화되면 함수 매개변수는 지정된 유형과 일치해야 하며, 그렇지 않으면 TypeError 예외가 발생합니다. 엄격한 검사는 기본 유형(int, float), 복합 유형(객체, 배열), 공용체 유형(int|string) 및 선택적 유형(?int)을 지원하여 코드 견고성을 향상시키고 잘못된 유형의 매개변수가 전달되는 것을 방지합니다.
PHP 함수 매개변수 유형 검사란 실제로 전달된 매개변수 유형이 함수 호출 시 함수가 선언한 매개변수 유형과 일치하는지 확인하는 과정을 말합니다. 함수에 전달된 매개변수가 예상한 대로인지 엄격한 검사를 통해 코드의 견고성을 향상시킬 수 있습니다.
PHP 7.0 이상에서는 Declare
문을 사용하여 함수 매개변수 유형에 대해 엄격한 검사를 수행할 수 있습니다. Declare
语句对函数参数类型进行严格检查:
declare(strict_types=1); function add(int $a, int $b) {...}
通过 strict_types=1
声明启用严格模式后,函数 add
要求传入两个整数类型的参数,否则将抛出 TypeError 异常。
PHP 支持以下基本类型和复合类型的严格检查:
int
、float
、bool
、string
、null
复合类型:
object
或 Class
array
int|string
?int
场景:
定义一个函数 calculateArea
,计算几何图形的面积。需要根据不同的图形类型,传递不同的参数:
function calculateArea($shape, $params) {...}
使用类型检查防止参数错误:
declare(strict_types=1); function calculateArea(string $shape, array $params): float {...}
通过 strict_types
声明和明确的参数类型,可以防止传递错误类型的参数。例如:
calculateArea(123, []); // 抛出 TypeError 异常
使用联合类型提高灵活性:
function calculateArea(string $shape, int|float $radius): float {...}
联合类型允许函数根据不同的情况接收不同类型的参数。例如,计算圆形或正方形的面积:
calculateArea('circle', 5); calculateArea('square', 10);
null
值,可以使用可选类型 ?
rrreeestrict_types=1
를 통해 엄격 모드를 활성화합니다. > 선언 마지막으로 add
함수에는 두 개의 정수 유형 매개변수가 전달되어야 합니다. 그렇지 않으면 TypeError 예외가 발생합니다. int
, float
, bool code>, <code>string
, null
🎜🎜🎜복합 유형: 🎜object
또는 Class
🎜🎜배열 유형: array
🎜🎜Union 유형: int|string
🎜🎜선택 유형: ?int
🎜🎜🎜🎜 🎜실제 전투 사례 🎜🎜시나리오:🎜🎜기하학적 도형의 면적을 계산하는 calculateArea
함수를 정의합니다. 다양한 그래픽 유형에 따라 다양한 매개변수를 전달해야 합니다. 🎜rrreee🎜유형 검사를 사용하여 매개변수 오류 방지: 🎜rrreee🎜 strict_types
선언 및 매개변수 유형 지우기를 통해 다음을 수행할 수 있습니다. 잘못된 유형의 인수 전달을 방지합니다. 예: 🎜rrreee🎜유연성을 높이기 위해 공용체 유형 사용:🎜rrreee🎜Union 유형을 사용하면 함수가 다양한 상황에 따라 다양한 유형의 매개변수를 수신할 수 있습니다. 예를 들어 원이나 사각형의 면적을 계산하면 🎜rrreee🎜Notes to note🎜null
값을 반환하도록 허용하려면 선택적 유형인 ?
를 사용할 수 있습니다. 🎜🎜엄격 모드가 활성화되면 선택적 매개변수를 포함하여 함수의 모든 매개변수에 대해 유형을 명시적으로 지정해야 합니다. 🎜🎜위 내용은 PHP에서 함수 매개변수의 엄격한 유형 검사를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!