Welcome to Doctrine 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
- Slack chat room #orm
- Report a bug on GitHub.
- 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 | Associations | Inheritance
- Drivers: Attributes | XML | PHP
Working with Objects
- Basic Reference: Entities | Associations | Events
- Query Reference: DQL | QueryBuilder | Native SQL
- Internals: Internals explained | Associations
Advanced Topics
- Architecture
- Advanced Configuration
- Limitations and known issues
- Commandline Tools
- Transactions and Concurrency
- Filters
- NamingStrategy
- TypedFieldMapper
- Improving Performance
- Caching
- Partial Hydration
- Partial Objects
- Change Tracking Policies
- Best Practices
- Metadata Drivers
- Batch Processing
- Second Level Cache
Cookbook
- Patterns: Aggregate Fields | Decorator Pattern | Strategy Pattern
- DQL Extension Points: DQL Custom Walkers | DQL User-Defined-Functions
- Implementation: Array Access | Working with DateTime | Validation | Entities in the Session | Keeping your Modules independent
- Hidden Gems Prefixing Table Name
- Custom Datatypes MySQL Enums Advanced Field Value Conversion