doctrine2 Getting started with doctrine2

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Extensions
> Step 2: And Like the video. BONUS: You can also share it!


Doctrine 2 is the colloquial term used for the Object Relational Mapper(ORM) component of the Doctrine Project.

The ORM sits on top of the Doctrine Project's Database Abstraction Layer (DBAL) providing ways to query and manipulate information in the underlying database using Doctrine's DSL called DQL.

Using the ORM provides developers with many advantages over direct access to the database:

  • DBAL abstracts over many platforms allowing use of the same ORM code with many databases platforms. (MySQL, PgSQL, Sqlite, Oracle)
  • Mapping database structures to domain models allows for separation of concerns.
  • Support for advanced caching techniques across many platforms (APC, Redis, etc.)

Moreover Doctrine 2 offers integrations with many popular PHP web frameworks (Symfony, Zend, Laravel) which make difficulty of setup low.

Installation or Setup

Doctrine 2 is easy to install via composer

composer require doctrine/orm

but it can also be downloaded from or from its GitHub project page.

Got any doctrine2 Question?