Adam Jensen has written up a new blog post about using modules in the Zend Framework and how to use them from multiple places in your application without the issues surrounding massive cut and paste code.
The problem here is that the parent application (and the person installing it) has to know all sorts of nitty-gritty details about how the module does its business. [...] However, as I mentioned earlier, this situation has changed dramatically in Zend Framework 1.8, due to a wonderful little component called Zend_Application_Resource_Modules.
This new bit of functionality allows the modules to have their own boostrapping logic and autoloading of other modules. Thi smakes integrating someone else's module into your framework a much simpler (and easy to maintain) endeavor. One thing he notes that's missing, though, is any dependencies that the modules might have between each other.