嚴格打字

從 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");