PHP约束是指在函数或方法中,对参数和返回值进行类型限制的语法特性。通过约束可以:
function sum(int $a, int $b) {
return $a + $b;
}
支持的类型:int, float, string, bool, array, object, 类名, 接口名
function getUser(): User {
// 必须返回User对象
}
function findUser(?int $id): ?User {
// 参数和返回值都可以为null
}
function process(int|string $input): int|float {
// 参数可以是int或string
// 返回值可以是int或float
}
解决方案:使用类型转换或修改调用代码
解决方案:逐步添加约束,使用?表示可为null
类型约束对性能影响极小,可忽略不计