Library PHP Tek 2023 Database Abstractions and Where They Leak
Database Abstractions and Where They Leak

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 Sergei Morozov PHP Tek 2023 Intermediate (some prior knowledge necessary) Standard (50 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/