首頁 > 後端開發 > php教程 > 為什麼我在 PHP 中收到「初始化之前不得存取類型化屬性」錯誤?

為什麼我在 PHP 中收到「初始化之前不得存取類型化屬性」錯誤?

Barbara Streisand
發布: 2024-11-17 04:32:03
原創
971 人瀏覽過

Why Am I Getting the

新增屬性類型提示後出現「初始化前不得存取類型化屬性」錯誤

在PHP 類別中引入屬性類型提示時,您可能會遇到錯誤提示,「在初始化之前不得存取類型化屬性。」在使用與其聲明類型相符的有效值初始化屬性之前存取該屬性時,會發生此錯誤。

原因

根據 PHP 7.4 的屬性類型提示,所有屬性都必須具有與其聲明的類型相符的值。未指派的屬性處於未定義狀態,並且不會符合任何聲明的類型,甚至為 null。

範例

考慮以下程式碼:

在此範例中,存取 $val 屬性而不為其指派字串或空值首先會引發錯誤。

解決方案

預設值:

您可以指定預設值聲明期間屬性的值:

建構函式初始化:

在建構子中初始化屬性:

可為空白型別:

對於可選屬性,將它們宣告為可為空:

資料庫產生的值(自動產生的ID):

資料庫初始化的屬性使用可空型別:

以上是為什麼我在 PHP 中收到「初始化之前不得存取類型化屬性」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板