严格打字
从 PHP 7.0 开始,严格打字可以减轻类型杂耍的一些有害影响。通过将此 declare
语句包含为文件的第一行,PHP 将通过抛出 TypeError
异常来强制执行参数类型声明和返回类型声明。
declare(strict_types=1);
例如,使用参数类型定义的此代码将在运行时抛出类型 TypeError
的可捕获异常:
<?php
declare(strict_types=1);
function sum(int $a, int $b) {
return $a + $b;
}
echo sum("1", 2);
同样,此代码使用返回类型声明; 如果它尝试返回除整数之外的任何内容,它也会抛出异常:
<?php
declare(strict_types=1);
function returner($a): int {
return $a;
}
returner("this is a string");