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 http://www.doctrine-project.org/projects/orm.html or from its GitHub project page.