Zend Framework 2 Module for Doctrine ORM
Switch branches/tags
Clone or download
Pull request Compare This branch is 732 commits behind doctrine:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.travis
config
src/DoctrineORMModule
tests
.travis.yml
Module.php
README.md
UPGRADE.md
autoload_classmap.php
autoload_function.php
autoload_register.php
composer.json

README.md

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

Requirements

Zend Framework 2

Installation

Installation of this module uses composer. For composer documentation, please refer to getcomposer.org. To achieve the task, it currently uses 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 http://getcomposer.org/installer | php (on windows, download http://getcomposer.org/installer 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)

    'OcraComposer',
    'DoctrineModule',
    'DoctrineORMModule',
  6. drop vendor/doctrine/DoctrineORMModule/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.

Usage

Command Line

Access the Doctrine command line as following

./vendor/bin/doctrine-module

Service Locator

Access the entity manager using the following di alias:

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

Injection

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!
    }
}