php[tek] 2023 php[tek] 2023 Login
Database Abstractions and Where They Leak
Speaker: Sergei Morozov
Database Abstractions and Where They Leak

Level: Intermediate (some prior knowledge necessary)
Length: Standard Session (45-60 minutes)

Description:
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/

Thanks to our php[tek] 2025 sponsors!
PHP Architect
(Platinum)