Edit
Welcome to Doctrine 2 ORM's documentation!
The Doctrine documentation is comprised of tutorials, a reference section and cookbook articles that explain different parts of the Object Relational mapper.
Doctrine DBAL and Doctrine Common both have their own documentation.
Getting Help
If this documentation is not helping to answer questions you have about Doctrine ORM don't panic. You can get help from different sources:
- There is a FAQ with answers to frequent questions.
- The Doctrine Mailing List
- Internet Relay Chat (IRC) in #doctrine on Freenode
- Report a bug on JIRA.
- On Twitter with
#doctrine2
- On StackOverflow
If you need more structure over the different topics you can browse the table of contents.
Getting Started
- Tutorial: Getting Started with Doctrine
- Setup: Installation & Configuration
Mapping Objects onto a Database
- Mapping:
Objects
Inheritance - Drivers:
Docblock Annotations
YAML | PHP
Working with Objects
- Basic Reference:
Entities
Events - Query Reference:
DQL
Native SQL - Internals: Internals explained | Associations
Advanced Topics
- Architecture
- Advanced Configuration
- Limitations and known issues
- Commandline Tools
- Transactions and Concurrency
- Filters
- NamingStrategy
- Improving Performance
- Caching
- Partial Objects
- Change Tracking Policies
- Best Practices
- Metadata Drivers
- Batch Processing
- Second Level Cache
Tutorials
- Indexed associations
- Extra Lazy Associations
- Composite Primary Keys
- Ordered associations
- Pagination
- Override Field/Association Mappings In Subclasses
- Embeddables
Changelogs
Cookbook
- Patterns:
Aggregate Fields
Strategy Pattern - DQL Extension Points: DQL Custom Walkers | DQL User-Defined-Functions
- Implementation:
Array Access
Using Wakeup Or Clone
Validation
Keeping your Modules independent - Integration into Frameworks/Libraries CodeIgniter
- Hidden Gems Prefixing Table Name
- Custom Datatypes MySQL Enums Advanced Field Value Conversion