Работая над частью входа в приложение, я столкнулся с проблемой:
Моя модель основана на 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 к полной разработке, управляемой доменом, отделив мой доступ к данным от пользовательского объекта. Затем напишите второй преобразователь для заполнения объекта User stdClass вместо строки таблицы.
Мои два вопроса: Что из этого вы бы порекомендовали? И есть ли что-то, что мне не хватает?
Я бы не хотел делать что-либо из этого, а затем обнаруживать, что мне не хватает чего-то очевидного в Framework. Кто-нибудь знает, есть ли "правильный" способ сделать это?
С уважением, Сандер