Log in to watch this talk
You need to be logged in to access this video. If you don't have an account, purchase a virtual pass for the latest php[tek] conference to get access to the full video library.
Database Abstractions and Where They Leak
Sergei Morozov
PHP Tek 2023
Intermediate (some prior knowledge necessary)
Standard Session (45-60 minutes)
Doctrine DBAL is the most popular relational database abstraction library for PHP. Many developers prefer using a database abstraction since they usually provide a better developer experience than working directly with database drivers. However, despite the best effort of their designers, abstractions often make developers unhappy when it comes to using non-trivial database features. Per Joel Spolsky[1], "all non-trivial abstractions, to some degree, are leaky". As a quite complex one, Doctrine DBAL leaks in a variety of aspects: drivers, SQL dialects, and schema management specifics. In this talk, I will highlight the most notable inconsistencies of Doctrine DBAL APIs and provide recommendations on dealing with them. [1] https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/