PHP 方法聲明中的相容性
在 PHP 中,錯誤「嚴格標準:childClass::customMethod()的聲明應該與「parentClass::customMethod()」表示子類別與其父類別中的方法宣告之間存在差異
可能原因:
當子方法有下列任一情況時,會發生錯誤:
-
不同的參數:方法參數的數量、順序或資料類型應與父方法的參數相符
-
不同的存取等級:子方法的存取等級(公用、私有或受保護)必須與父方法的存取等級相同或限制更少。 >
尋找相容性資訊:
PHP使用以下規則來定義方法相容性:
- 參數:參數宣告的數量和類型必須相符。子方法存取可以限制性更大(例如,公共對私人),但限制性不能較小(例如,私人對私人) public)。附加文件和有關方法相容性的範例可以在以下PHP手冊頁中找到:
- [重載與繼承](https://www.php.net/manual/en/language.oop5.overloading.php)[方法可見度](https://www.php.net/manual/en/ language.oop5.visibility.php)
- [協方差與逆變](https://www.php.net/manual/en/language.oop5.variance.php)
以上是為什麼 PHP 會拋出「嚴格標準:childClass::customMethod() 的聲明應與 ParentClass::customMethod() 的聲明相容」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!