Advises needed on Zend Framework 2 modules and models architecture

architecture, model-view-controller, php, zend-framework

Solution

See the following article: http://adam.lundrigan.ca/2011/09/module-dependencies-in-zf2/

You can create a third module (example: Base, Main) that is a dependency for the Products and Services modules, or you can add the Models to one of your modules and use that module as a dependency for the other one.

Module.php

/**
 * Get dependencies
 *
 * @return array
 */
public function getDependencies()
{
    return array(
        'BaseModule' => array(
            'version' => '>=0.1.0',
            'required' => true
        ),
    );
}

Problem

I would like to start working with `Zend Framework 2` and need some guidance as to the architecture of the framework. I compared Akrabat's ZF2 tutorial with it's ZF1 equivalent and the main difference I noticed so far seems to be the use of modules. I like the idea with modules as being independent and re-usable pieces of code and am thinking it could help segmenting my application and make it more maintainable. For instance I could have the following `URL => module` mapping: ``` http://example.org/products => Products module http://example.org/services => Services module http://example.org/oauth => Oauth module [...] ``` What I'm confused about, is that some of my modules will share the same underlying database resources (e.g. both `Products` and `Services` use the same table for comments) and therefore the same database models. Accordingly, I'm wondering: Where should I put my database models when those are used by multiple modules?

Original source