Skip to content
Zend Framework 2 Module for Doctrine ORM
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

DoctrineORM Module for Zend Framework 2

Master: Build Status

The DoctrineORMModule module intends to integrate Doctrine 2 ORM with Zend Framework 2 quickly and easily. The following features are intended to work out of the box:

  • Doctrine ORM support
  • Multiple ORM entity managers
  • Multiple DBAL connections
  • Support reuse existing PDO connections in DBAL


Zend Framework 2


Installation of this module uses composer. For composer documentation, please refer to To achieve the task, it currently uses ocramius/OcraComposer to integrate your application with composer. This may change in future.

Installation steps

  1. cd my/project/directory
  2. create a composer.json file with following contents:

         "require": {
             "doctrine/DoctrineORMModule": "dev-master"
  3. install composer via curl -s | php (on windows, download and execute it with PHP)
  4. run php composer.phar install
  5. open my/project/directory/configs/application.config.php and add following keys to your modules (in this order)


    also add following module_paths:

  6. drop vendor/doctrine/DoctrineModule/config/module.doctrine_orm.local.config.php.dist into your application's config/autoload directory, rename it to module.doctrine_orm.local.config.php and make the appropriate changes.

  7. create directory my/project/directory/data/DoctrineORMModule/Proxy and make sure your application has write access to it.


Command Line

Access the Doctrine command line as following


Service Locator

Access the entity manager using the following di alias:

$em = $this->getLocator()->get('Doctrine\ORM\EntityManager');


You can also inject the EntityManager directly in your controllers/services:

class MyController extends \Zend\Mvc\Controller\ActionController
    public function __construct(\Doctrine\ORM\EntityManager $em) {
        $this->em = $em;
        // now you can use the EntityManager!
Something went wrong with that request. Please try again.