Clone this wiki locally
I tend to do things differently. I realize that. Some people actually like the way that I do things, so I’ve decided to “publish” some of those things. I use Zend Framework for a lot of PHP development, because I like it’s “tool belt” approach. I can reuse pieces of the framework in a number of different projects that have nothing to do with MVC-pattern applications. There are some missing pieces, IMO, and some of the existing packages don’t work exactly as I’d like them to. Sometimes I submit issues to the ZF bug tracker and sometimes I’ll submit patches, but mostly I just subclass the component I’m after and override the behavior I don’t like or add another class that does what I want it to. I collected a fair share of those kind of components in a previous library that was never published, and in re-collecting my thoughts on those subjects, I’ve decided to share my ideas, along with some nice unit tests to explain them. I hope you find them useful.
- ethos_Model – The Model package plugs a large hole in the MVC library, as I see it: Models. There are none. There’s a (mostly) nicely done Table Gateway pattern in Zend_Db_Table (v1.9.x docs), but there’s no example Model implementation (merely a proposal for one) to guide developers in a “standard convention” for building a Domain Model architecture.
- ethos_Model_Storage – The Model_Storage package should provide complimentary Data Mapper classes for the Model package that patterns for Single Table Inheritance, Concrete Table Inheritance, and Class Table Inheritance, among others.
- ethos_Pattern – The Pattern package contains some useful implementations for and interfaces that describe useful patterns in software architecture.
- ethos_Test – The Test package subclasses components of PHPUnit to provide some default functionality that I find useful.