エンティティに、エンティティを最後に変更したユーザー (できれば彼の ID) をログに記録させたいと考えています。きれいなエンティティには getModifier() メソッドがありますが、クラスによって内部問題として処理されるため、 setModifier() はありません。prePersist を使用して、エンティティをユーザー ID で更新します。そこで、主な質問は次の 2 つです。
1) 技術的には、エンティティの prePersist 内で現在のユーザーの ID を取得するにはどうすればよいですか?
2) 哲学。モデルがそこに保存されているデータ以外のものに依存しないように再考するようにアドバイスする多くの回答を見つけました。世界の他の地域から隔離しているエンティティがどのように正気なのか、私にはわかりません。エンティティに許可されていることについて、ここで 2 つの対比を見てください。キャッシュされた出力を保存できるフォルダー名を取得するためにサービスにアクセスすることは違法と見なされます。ファイル抽象化クラスを使用したファイルシステムへの書き込みは問題ありません。後者はファイルシステムについてより多くの仮定をしていると思います。現在のユーザーの ID へのアクセスは違法と見なされます。エンティティに現在のタイムスタンプを付けても問題ありません。(行方不明の可能性がある) ユーザーの概念は悪いのに、時間の概念は良いのでしょうか? モデル自体以外に依存しないという概念が有効である場合、DateTime 関数をあえて使用する人がいるでしょうか? (PHP のサービスが常にアクセス可能であるとは言わないでください。一部の設定/拡張機能が欠落していると、簡単に失敗する可能性があるためです。)このような厳格な制限を順守しながら、エンティティにロジックを構築する方法がわかりません。エンティティがデータ以上のものにならないようにします (このレベルのカプセル化と情報の隠蔽により、このエンティティ モデルは単なる配列に勝るものはありません)。使用してはならないモデル環境の要素と正当と見なされる要素との特定の違いは何ですか? PHP のサービスは常にアクセス可能であると言えます。一部の設定/拡張機能が欠落していると、簡単に失敗する可能性があるためです.) 私は、そのような厳格な制限を守りながらロジックをエンティティに組み込む方法と、エンティティの終了を回避する方法を理解していません。データにすぎません (このレベルのカプセル化と情報の隠蔽により、このエンティティ モデルは単なる配列に勝るものはありません)。使用してはならないモデル環境の要素と正当と見なされる要素との特定の違いは何ですか? PHP のサービスは常にアクセス可能であると言えます。一部の設定/拡張機能が欠落していると、簡単に失敗する可能性があるためです.) 私は、そのような厳格な制限を守りながらロジックをエンティティに組み込む方法と、エンティティの終了を回避する方法を理解していません。データにすぎません (このレベルのカプセル化と情報の隠蔽により、このエンティティ モデルは単なる配列に勝るものはありません)。使用してはならないモデル環境の要素と正当と見なされる要素との特定の違いは何ですか? そして、エンティティが単なるデータになることを回避する方法 (このレベルのカプセル化と情報の隠蔽により、このエンティティ モデルは単なる配列に勝るものはありません)。使用してはならないモデル環境の要素と正当と見なされる要素との特定の違いは何ですか? そして、エンティティが単なるデータになることを回避する方法 (このレベルのカプセル化と情報の隠蔽により、このエンティティ モデルは単なる配列に勝るものはありません)。使用してはならないモデル環境の要素と正当と見なされる要素との特定の違いは何ですか?