Talk in English - US at php[tek] 2023
View Slides: https://speakerdeck.com/morozov/database-abstractions-and-where-they-leak
Short URL: https://joind.in/talk/f0e30 (QR-Code (opens in new window))
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, "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.