<?php
function sayHello(string $name): never
{
echo "Hello, $name";
exit(); // 如果我們將這一行註釋掉,PHP 會拋出致命錯誤
}
sayHello("John"); // 結果: "Hello, John"
never 是一個僅限返回值的類型,表示函式不會終止。這意味著它會呼叫 exit()、拋出例外或是一個無限迴圈。因此,它不能是 聯集類型 宣告的一部分。從 PHP 8.1.0 開始可用。
以類型理論的術語來說,never 是底層類型。這意味著它是所有其他類型的子類型,並且可以在繼承期間取代任何其他返回類型。
<?php
function sayHello(string $name): never
{
echo "Hello, $name";
exit(); // 如果我們將這一行註釋掉,PHP 會拋出致命錯誤
}
sayHello("John"); // 結果: "Hello, John"