I know Domain Models and Data Mappers are the OOP snob's choice (using 'snob' in a complementary way, as Martin Fowler calls himself one) - however, even Fowler says in POEAA that
"Active Record is a good choice for domain logic that isn't too complex..."
I have a simple product and invoice domain model, not too many tables/objects/concepts to model, and the relationships aren't that overly complex. So, is this a good use case for Active Record?
Fowler also states that Active Record is similar to the Row Data Gateway, the difference being that Active Record has domain logic.
Assuming this is a valid use case for Active Record, and since Zend provides Row Data Gateway, a solution of intelligent (as opposed to simply adding the table name) extending those objects seems like a good way to create Active Record objects using the Zend Framework. Indeed, that concept is discussed in this SO answer. Is this an acceptable way of implementing Active Record inside the Zend Framework?
Of course the most popular answer to that question is one by Bill Karwin (who worked on Zend's Db implementation), recommending not using Zend_Db_Table
or Zend_Db_Row
this way (at least that's how I read it).
I fully accept wanting to move to a Data Mapper solution if the domain model in question becomes more complex. I've looked at various ORM/DataMappers (for more than just the domain model in question, been reading more about OOP design patterns lately), and they really seem too much for some things.