Introduction

DoctrineModule provides a bridge between Laminas and Doctrine. It gives you access to features that can be used across Doctrine ORM as well as Doctrine MongoDB ODM. It provides an abstraction layer on top of Doctrine\Common which allows the end user to build functionality being completely unaware if he’s currently working with Doctrine ORM or Doctrine MongoDB ODM.

To use Doctrine ORM or ODM, you will need DoctrineORMModule or DoctrineMongoODMModule respectively.

Installation

Run the following to install this library using Composer:

$ composer require doctrine/doctrine-module

Note on PHP 8.0 or later

This module provides an integration with laminas-cache, which currently comes with some storage adapters which are not compatible with PHP 8.0 or later. To prevent installation of these unused cache adapters, you will need to add the following to your composer.json file:

1"require": { "doctrine/doctrine-module": "^4.2.0" }, "replace": { "laminas/laminas-cache-storage-adapter-apc": "*", "laminas/laminas-cache-storage-adapter-dba": "*", "laminas/laminas-cache-storage-adapter-memcache": "*", "laminas/laminas-cache-storage-adapter-memcached": "*", "laminas/laminas-cache-storage-adapter-mongodb": "*", "laminas/laminas-cache-storage-adapter-wincache": "*", "laminas/laminas-cache-storage-adapter-xcache": "*", "laminas/laminas-cache-storage-adapter-zend-server": "*" }
2
3
4
5
6
7
8
9
10
11
12
13

Consult the laminas-cache documentation for further information on this issue.

Next Steps

You can find more details about the features offered by DoctrineModule:

  • Authentication documentation: this explains how you can use the DoctrineModule authentication adapter and authentication storage adapter to provide a simple way to authenticate users using Doctrine.
  • Caching documentation: DoctrineModule provides simple classes to allow easier caching using Doctrine.
  • CLI documentation: learn how to use the Doctrine 2 command line tool, and how to add your own command.
  • Form elements: if you are using Laminas Forms, this module provides select, radio and checkbox elements for selecting objects from relationships.
  • Hydrator documentation: if you are using Laminas Forms, doctrine-laminas-hydrator provides a powerful hydrator that allows you to easily deal with OneToOne, OneToMany and ManyToOne relationships when using forms.
  • Paginator documentation: discover how to use the DoctrineModule Paginator adapter.
  • Validator documentation: this chapter explains how to use ObjectExists and NoObjectExists validator, that allow you to easily validate if a given entity exists or not.