最近、私はRedBean ORMの使用を開始しました。PHP ORMベストプラクティス:別のオブジェクトタイプから値を取得する:
私は、ユーザーの情報を格納するユーザーBean型と、ユーザー機能のための関連FUSEモデルを持っています。
ユーザーがログインするかセッションが既に設定されている場合、Redbeanはアドレスを含むユーザーの情報を取得します。
ユーザーがログインするまで、ジオープロケーションサービスを介して新しいユーザーBeanの州と都市の値を設定しました。
このタイプの手順で何がベストプラクティスであるのか不思議です。
私はそれを見る方法、私はいくつかのオプションがあります。
- のGeoIPオブジェクトをインスタンス化し、値を設定し、ユーザーFUSEモデル内のメソッドを作成します。
- FUSEモデルの外でgeoipオブジェクトをインスタンス化し、値を直接設定します。例:$ user-> state = $ location-> state;
- FUSEモデルの外でgeoipオブジェクトをインスタンス化しますが、そのオブジェクトを処理する方法を知っているFUSEモデル設定ツールにオブジェクトを渡します。
私はあなたがクラスの依存関係を作成するので、あなたは本当にオプション1をしたくないと推測しています。
どのような考えですか?
Redbean ORMライブラリーの使用は、より、代わりにゲッターとセッターを作成する必要のプロパティを直接設定を中心とします。つまり、私はジオープオブジェクトへの新しい追加が1つの場所で対応できるので、オプション3にも傾いていると言われています。 – christian