PHP 錯誤:「必需參數$xxx 跟隨選用參數$yyy」
升級到PHP 8.0 時,開發人員可能會遇到棄用錯誤說明必需參數跟隨可選參數。此錯誤是由於錯誤使用所需函數參數的預設值而引起的。
問題描述:
之前,在 8.0 之前的 PHP 版本中,可以使用透過為必需參數分配預設值來混合必需參數和可選參數。然而,這種做法由於其固有的缺陷而已被棄用。
例如,考慮以下 PHP 程式碼:
function test_function(int $var1 = 2, int $var2) { return $var1 / $var2; }
在此程式碼中,$var1 是一個必需參數,具有預設值為 2。 $var2 也是必需參數,沒有預設值。此程式碼在早期 PHP 版本中可以正常運作,但在 PHP 8.0 中會觸發棄用錯誤。
新要求:
在 PHP 8.0 及更高版本中,現在要求必需的參數在可選參數之前聲明。此變更可確保在呼叫函數時提供所有必需的參數,從而消除潛在的混亂和錯誤來源。
解決方案:
要解決該錯誤,只需刪除先前所需參數的預設值。程式碼應重寫如下:
function test_function(int $var1, int $var2) { return $var1 / $var2; }
透過進行此更改,該函數將遵循新的 PHP 要求,並且將不再觸發棄用錯誤。
以上是為什麼 PHP 8.0 會拋出「必需參數 $xxx 跟隨可選參數 $yyy」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!