PHP 7.4 でのプロパティ型ヒントの導入により、有効な値をプロパティに割り当てることが重要になります。すべてのプロパティを使用して、宣言された型が確実に尊重されるようにします。値が割り当てられていない未定義のプロパティは、宣言された型と一致せず、次のエラー メッセージが表示されます。「初期化前に型指定されたプロパティにアクセスすることはできません。
たとえば、次のコードを考えてみましょう。
class Foo { private string $val; public function __construct(int $id) { $this->id = $id; } public function getVal(): string { return $this->val; } }
Foo の構築後に $val にアクセスすると、その型がまだ定義されていないためエラーが発生します (未定義 !== null)。
これを解決するには、実行中にすべてのプロパティに値を割り当てます。構築するか、デフォルト値を設定します:
class Foo { private string $val = null; // default null value public function __construct(int $id) { $this->id = $id; } }
すべてのプロパティに有効な値が設定され、エラーが解消されました。
この問題は、自動生成された ID やタイムスタンプなどのエンティティ プロパティのデータベース値に依存している場合にも発生する可能性があります。自動生成された ID の場合は、nullable として宣言します:
private ?int $id = null;
その他すべての場合は、そのタイプに一致する適切なデフォルト値を選択します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3