嚴格打字
從 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");