アプリケーションのログイン部分で作業しているときに、次の問題に遭遇しました。
私のモデルは Active Record に基づいており、Zend_Db_Table_Row オブジェクトを拡張しています。ユーザーに対処する必要があるときはいつでも、User オブジェクト (拡張されたテーブル行) を介してこれを行いたいと思います。ただし、Zend_Auth_Adapter_DbTable::getResultRowObject() は stdClass を返すため、Zend_Auth_Adapter_DbTable に特定の Db_Table を使用するように指示する方法が見つかりません。
これまでに見つけた3つのオプション:
カスタム Zend_Auth_Adapter を作成して、適切なクラス オブジェクトを返します (内部で Zend_Db_Table を使用)。
認証後、stdClass の読み取りと User オブジェクトの書き込みを実行します。実際に Zend_Db_Table を使用せずに Zend_Db_Table_Row クラスを作成できますか?
Active Record から完全なドメイン駆動開発に移行し、データ アクセスをユーザー オブジェクトから分離します。次に、2 番目のマッパーを作成して、User オブジェクトをテーブル行ではなく stdClass で埋めます。
私の 2 つの質問: これらのうちどれをお勧めしますか? そして、私が見逃しているものはありますか?
これらのいずれかを実行してから、フレームワークに明らかな何かが欠けていることに気付くのは嫌です。これを行うための「適切な」方法があるかどうかは誰にもわかりませんか?
よろしく、サンダー