この問題が頻繁に発生するようになりましたが、この警告を止めるには何をすればよいかわかりません:
非推奨: 動的プロパティを作成しています...非推奨
これは私のクラスです:
リーリーこれがインスタンス化の方法です。
リーリーこれにより、2 つのメッセージが表示されます:
非推奨: 動的プロパティの作成データベース::$database 廃止予定
非推奨: 動的プロパティ データベース::$server の作成 廃止予定
P粉2991740942023-10-21 10:14:38
この警告は、設定しようとしているプロパティが クラスの先頭にリストされていないことを示します。
このコマンドを実行すると:リーリー
は、これとほぼ同等です:リーリー
警告は、クラス定義に$db->database または
$db->server が存在することを示す行が存在しないことです。
動的に作成されますが、将来的には明示的に宣言する必要があります。 リーリー まれに、実際に「このクラスのプロパティは、実行時に追加することを決定したプロパティである」と言いたい場合があります。その場合は、
#[AllowDynamicProperties] 以下に示すように、属性を使用できます。 :
リーリー
P粉0989790482023-10-21 10:03:08
したがって、警告は動的クラス属性を追加するコンストラクターから発生します。フィールドを動的かつ本格的に渡す必要がない場合、単純なものを複雑にしすぎているように見えるので、次のようなことを試してください。
リーリー動的パラメータが必要な理由はありますか?次のこともできます:
リーリー事前にパラメータを追加した場合、それらは動的ではなく、すでに存在するものに値を割り当てるだけです。
これで警告なしで動作するはずです。
リーリー