在处理应用程序的登录部分时,我发现自己遇到了一个问题:
我的模型基于 Active Record,通过扩展 Zend_Db_Table_Row 对象。每当我必须与用户打交道时,我都想通过 User 对象(作为扩展的表行)来做到这一点。但是,Zend_Auth_Adapter_DbTable::getResultRowObject() 返回一个 stdClass,我找不到告诉 Zend_Auth_Adapter_DbTable 使用特定 Db_Table 的方法。
到目前为止我发现的三个选项:
编写一个自定义 Zend_Auth_Adapter,以返回正确的类对象(在内部使用 Zend_Db_Table)。
验证后执行一些 stdClass 的读取和一些 User 对象的写入 - 你可以创建一个 Zend_Db_Table_Row 类而不实际使用 Zend_Db_Table 来创建它吗?
从 Active Record 转移到完整的领域驱动开发,将我的数据访问与用户对象分离。然后编写第二个映射器,用 stdClass 而不是表行填充 User 对象。
我的两个问题:您会推荐哪些?有什么我想念的吗?
我不想做任何这些,然后发现我在框架中遗漏了一些明显的东西。有谁知道是否有“正确”的方法可以做到这一点?
问候, 桑德