簡體   English   中英

PHP7返回值類型聲明的目的是什么

[英]What's the purpose of PHP7's returning values type declaration

我正在閱讀PHP7的新功能,對此我產生了疑問:

返回值:返回類型聲明

function sum($a, $b): float {
    return $a + $b;
}

// Note that a float will be returned.
var_dump(sum(1, 2));

我能找到的唯一目的是在接口定義中更加具體(這是一個優勢)。 但是,還有其他理由將它們包括在每種方法中嗎?

如果您正在編寫一個庫供其他代碼使用,那么擁有一個定義明確的API會很好,並且聲明的返回類型是其中的一部分。 這樣可以省去人們在源代碼中進行搜索的麻煩。

對於您自己的代碼用法,這是一項安全檢查,以確保您正確編寫了函數並保持“按計划”。 它鼓勵您的職能去做一件事情,並保持專注。 PHP本身在某些地方有些混亂,在某些地方如果函數未按計划進行,可能會返回整數值或布爾值 這是非常糟糕的編碼。 這意味着調用代碼必須針對這兩種情況進行編碼,而不必這樣做。 如果您在函數上指定了返回類型,則將無法沿這條路線走。

就像其他人所說的那樣,它也可以幫助您的IDE確定應該發生的事情。 那很方便。 IDE也將利用這些phpdoc批注注釋,但是它們是注釋,因此它們是撒謊的,實際上並沒有強制執行合同,因此,這並不是一件好事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM