title: Zend Framework Application: module dependencies
body: <p>How do you handle dependencies between modules in Zend Framework to create reusable, drop-in modules?</p>
  
  <p>E.g. I have <em>Newsletter module</em>, which allows users to subscribe, providing e-mail
  address.</p>
  
  <p>Next, I plan to add <em>Blog module</em>, which allows to subscribe to posts by e-mail (it obviously duplicates some functionality of the newsletter, but the e-mails addresses are stored in User model).
  Next one is the <em>Forum module</em>, with the same subscribe to post functionality.</p>
  
  <p>But I want to have ability to use these modules independent to each one, i.e.
  application with newsletter alone, newsletter with blog, comibnation two or three modules at once.</p>
  
  <p>This is pretty common, e.g. the same story with search feature. I want to have
  search module, with options to search in all data, blog data or forum data if
  available.</p>
  
  <p>Is there any design pattern for this?<br>
  Do I have to add some <code>moduleExists($moduleMame)</code>, or provide some interface or
  abstract classes, some base controller pattern, similar for each module?</p>