Overview
Important - Download These First - Working Files
What Is Doctrine And Why Use It?
About The Author
What Is In This Course?
How Do I Setup My Computer To Run The Demo Code?
Concepts And Terms
The Domain Model
DBAL - Database Abstraction Layer
ORM - Object Relational Mapping
What Is An Entity?
The Doctrine Entity Manager
What Is A Mapper?
What Is A Repository?
What Are Life Cycle Events?
Lab Exercise - Setting Up The Lab Infrastructure
Lab Solution - Setting Up The Lab Infrastructure
Doctrine Installation
Prerequisites For Installing Doctrine
Composer And Why Do I Need It?
Installing Composer On Linux, Unix Or OSX
Installing Composer On Windows
What Is A Composer.json File?
Installing Doctrine
PHP Namespace
Autoloading
Configuring Apps To Use Doctrine
Doctrine Command Line Tool
Configuring The Doctrine Command Line Tool
Lab Exercise - Installing Doctrine
Lab Solution - Installing Doctrine
Lab Exercise - Configuring The App For Doctrine
Lab Solution - Configuring The App For Doctrine
Using Entities
Creating An Entity
Docblock Annotations
Defining Different Database Column Types In My Entity
Creating A Repository
Using The Command Line Tool To Update Entities And Database
Lab Exercise - Creating Entities
Lab Solution - Creating Entities
Lab Exercise - Creating Repositories
Lab Solution - Creating Repositories
Create, Read, Update And Delete Operations
Saving An Entity
Reading An Entity
Updating An Entity
Deleting An Entity
Create, Read, Update, And Delete Using DBAL
Using Doctrine Query Language - DQL
Using POS - Plain Old SQL
Lab Exercise - Implementing Read Operations On Member Entity
Lab Solution - Implementing Read Operations On Member Entity
Lab Exercise - Implementing Create, Update, Delete Operations On Member Entity
Lab Solution - Implementing Create, Update, Delete Operations On Member Entity
Database Modeling
Configuring A One To One Relationship Between Entities
Configuring A One To Many Relationship Between Entities
Using A Many To Many Relationship Between Entities
Persisting Entities In A One To One Relationship
Updating Entities In A One To One Relationship
Deleting Entities In A One To One Relationship
Persisting Entities In A One To N Relationship
Updating Entities In A One To N Relationship
Deleting Entities In A One To N Relationship
Persisting Entities In A M To N Relationship
Updating Entities In A M To N Relationship
Deleting Entities In A M To N Relationship
Using Doctrine With A Database View
Lab Exercise - Establishing Relationship Between Members And Purchases
Lab Solution - Establishing Relationship Between Members And Purchases
Lab Exercise - Establishing Relationship Between Products And Purchases
Lab Solution - Establishing Relationship Between Purchases And Products
Lab Exercise - Rewriting The Purchase Process
Lab Solution - Rewriting The Purchase Process
Using The Query Builder
What Is The Query Builder, And Why Use It?
Performing Create, Read, Update, And Delete Using The DBAL Query Builder
Using The ORM Query Builder
Using The Expression Builder
Improving Performance When Using The ORM Query Builder
Lab Exercise - Implementing Basic Queries
Lab Solution - Implementing Basic Queries
Lab Exercise - Implementing A Join Using The Query Builder
Lab Solution - Implementing A Join Using The Query Builder
Performance Tuning
What Are The General Performance Recommendations?
Getting Performance Statistics
Pagination In Doctrine
Improving Performance Using Cache
Improving Performance Using Proxies
Using The Doctrine Event Manager
Using Doctrine Life Cycle Events
Using Doctrine Filters
Improving Performance Using Doctrine Second Level Cache
Implementing Transactions Using Doctrine
Using Doctrine Inheritance Mapping
What About Security?
Known Doctrine Limitations And Issues
Lab Exercise - Implementing Pagination
Lab Solution - Implementing Pagination
Lab Exercise - Implementing Caching And Proxies
Lab Solution - Implementing Caching And Proxies
Lab Exercise - Implementing A Life Cycle Callback On Members
Lab Solution - Implementing A Life Cycle Callback On Members
Doctrine And Frameworks
Zend Framework 2
Symphony
CodeIgniter
Doctrine ORM Module For Zend Framework 2
Doctrine And MongoDB
MongoDB
Configuring Apps To Use Doctrine With MongoDB
Creating, Reading, Updating And Deleting Using MongoDB
Doctrine And CouchDB
Configuring Apps To Use Doctrine With CouchDB
Creating, Reading, Updating And Deleting Using CouchDB?