O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Doctrine

Video Description

In this Learning Doctrine training course, expert author Doug Bierer will teach you how to install and configure Doctrine for any PHP project. This course is designed for users that already have experience with PHP.

You will start by learning concepts and terms, then jump into installing Doctrine. From there, Doug teaches you how to create entities, perform create, read, update, and delete operations, and model a database. This video tutorial also covers the query builder, performance tuning, and incorporating Doctrine into frameworks. Finally, you will learn how to configure apps to use Doctrine with MongoDB and CouchDB.

Once you have completed this computer based training course, you will be fully capable of working with Doctrine to model database tables using entities, perform create, read, update and delete operations, build queries, and much more. A substantial number of working files are included, allowing you to follow along with the author throughout the lessons.

Table of Contents

  1. Overview
    1. What Is Doctrine And Why Use It? 00:09:49
    2. About The Author 00:03:12
    3. What Is In This Course? 00:05:55
    4. How Do I Setup My Computer To Run The Demo Code? 00:04:43
  2. Concepts And Terms
    1. The Domain Model 00:06:10
    2. DBAL - Database Abstraction Layer 00:08:30
    3. ORM - Object Relational Mapping 00:09:44
    4. What Is An Entity? 00:05:18
    5. The Doctrine Entity Manager 00:08:44
    6. What Is A Mapper? 00:09:30
    7. What Is A Repository? 00:07:06
    8. What Are Life Cycle Events? 00:06:55
    9. Lab Exercise - Setting Up The Lab Infrastructure 00:02:25
    10. Lab Solution - Setting Up The Lab Infrastructure 00:02:50
  3. Doctrine Installation
    1. Prerequisites For Installing Doctrine 00:04:04
    2. Composer And Why Do I Need It? 00:02:25
    3. Installing Composer On Linux, Unix Or OSX 00:02:45
    4. Installing Composer On Windows 00:02:21
    5. What Is A Composer.json File? 00:04:27
    6. Installing Doctrine 00:04:54
    7. PHP Namespace 00:05:24
    8. Autoloading 00:07:17
    9. Configuring Apps To Use Doctrine 00:08:04
    10. Doctrine Command Line Tool 00:05:34
    11. Configuring The Doctrine Command Line Tool 00:05:51
    12. Lab Exercise - Installing Doctrine 00:00:39
    13. Lab Solution - Installing Doctrine 00:01:39
    14. Lab Exercise - Configuring The App For Doctrine 00:00:39
    15. Lab Solution - Configuring The App For Doctrine 00:04:34
  4. Using Entities
    1. Creating An Entity 00:07:23
    2. Docblock Annotations 00:06:05
    3. Defining Different Database Column Types In My Entity 00:09:37
    4. Creating A Repository 00:04:35
    5. Using The Command Line Tool To Update Entities And Database 00:06:29
    6. Lab Exercise - Creating Entities 00:00:58
    7. Lab Solution - Creating Entities 00:05:53
    8. Lab Exercise - Creating Repositories 00:00:44
    9. Lab Solution - Creating Repositories 00:02:06
  5. Create, Read, Update And Delete Operations
    1. Saving An Entity 00:04:54
    2. Reading An Entity 00:05:37
    3. Updating An Entity 00:04:03
    4. Deleting An Entity 00:02:54
    5. Create, Read, Update, And Delete Using DBAL 00:07:41
    6. Using Doctrine Query Language - DQL 00:10:06
    7. Using POS - Plain Old SQL 00:10:22
    8. Lab Exercise - Implementing Read Operations On Member Entity 00:01:36
    9. Lab Solution - Implementing Read Operations On Member Entity 00:05:18
    10. Lab Exercise - Implementing Create, Update, Delete Operations On Member Entity 00:02:12
    11. Lab Solution - Implementing Create, Update, Delete Operations On Member Entity 00:06:42
  6. Database Modeling
    1. Configuring A One To One Relationship Between Entities 00:04:40
    2. Configuring A One To Many Relationship Between Entities 00:06:48
    3. Using A Many To Many Relationship Between Entities 00:06:59
    4. Persisting Entities In A One To One Relationship 00:08:10
    5. Updating Entities In A One To One Relationship 00:03:18
    6. Deleting Entities In A One To One Relationship 00:05:17
    7. Persisting Entities In A One To N Relationship 00:06:46
    8. Updating Entities In A One To N Relationship 00:06:01
    9. Deleting Entities In A One To N Relationship 00:09:05
    10. Persisting Entities In A M To N Relationship 00:06:10
    11. Updating Entities In A M To N Relationship 00:05:34
    12. Deleting Entities In A M To N Relationship 00:04:53
    13. Using Doctrine With A Database View 00:04:16
    14. Lab Exercise - Establishing Relationship Between Members And Purchases 00:01:28
    15. Lab Solution - Establishing Relationship Between Members And Purchases 00:07:22
    16. Lab Exercise - Establishing Relationship Between Products And Purchases 00:02:32
    17. Lab Solution - Establishing Relationship Between Purchases And Products 00:05:31
    18. Lab Exercise - Rewriting The Purchase Process 00:01:27
    19. Lab Solution - Rewriting The Purchase Process 00:04:53
  7. Using The Query Builder
    1. What Is The Query Builder, And Why Use It? 00:05:24
    2. Performing Create, Read, Update, And Delete Using The DBAL Query Builder 00:08:22
    3. Using The ORM Query Builder 00:09:50
    4. Using The Expression Builder 00:07:49
    5. Improving Performance When Using The ORM Query Builder 00:07:35
    6. Lab Exercise - Implementing Basic Queries 00:01:14
    7. Lab Solution - Implementing Basic Queries 00:04:47
    8. Lab Exercise - Implementing A Join Using The Query Builder 00:01:06
    9. Lab Solution - Implementing A Join Using The Query Builder 00:04:09
  8. Performance Tuning
    1. What Are The General Performance Recommendations? 00:12:20
    2. Getting Performance Statistics 00:06:51
    3. Pagination In Doctrine 00:07:03
    4. Improving Performance Using Cache 00:07:33
    5. Improving Performance Using Proxies 00:05:59
    6. Using The Doctrine Event Manager 00:07:53
    7. Using Doctrine Life Cycle Events 00:10:40
    8. Using Doctrine Filters 00:06:01
    9. Improving Performance Using Doctrine Second Level Cache 00:11:53
    10. Implementing Transactions Using Doctrine 00:08:04
    11. Using Doctrine Inheritance Mapping 00:10:43
    12. What About Security? 00:12:03
    13. Known Doctrine Limitations And Issues 00:11:10
    14. Lab Exercise - Implementing Pagination 00:01:02
    15. Lab Solution - Implementing Pagination 00:03:19
    16. Lab Exercise - Implementing Caching And Proxies 00:02:30
    17. Lab Solution - Implementing Caching And Proxies 00:04:37
    18. Lab Exercise - Implementing A Life Cycle Callback On Members 00:00:57
    19. Lab Solution - Implementing A Life Cycle Callback On Members 00:02:06
  9. Doctrine And Frameworks
    1. Zend Framework 2 00:09:03
    2. Symphony 00:06:46
    3. CodeIgniter 00:09:46
    4. Doctrine ORM Module For Zend Framework 2 00:10:43
  10. Doctrine And MongoDB
    1. MongoDB 00:05:10
    2. Configuring Apps To Use Doctrine With MongoDB 00:05:06
    3. Creating, Reading, Updating And Deleting Using MongoDB 00:07:00
  11. Doctrine And CouchDB
    1. Configuring Apps To Use Doctrine With CouchDB 00:08:32
    2. Creating, Reading, Updating And Deleting Using CouchDB? 00:09:17
  12. Conclusion
    1. Wrap Up 00:02:13