Feature: #100089 - Introduce Doctrine DBAL v3 driver middlewares
See forge#100089
Description
Since v3, Doctrine DBAL supports adding custom driver middlewares. These
middlewares act as a decorator around the actual Driver
component.
Subsequently, the Connection
, Statement
and Result
components can be
decorated as well. These middlewares must implement the
\Doctrine\
interface.
A common use case would be a middleware for implementing SQL logging capabilities.
For more information on driver middlewares,
see https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/architecture.html.
Furthermore, you can look up the implementation of the
\TYPO3\
in ext:adminpanel
as an example.
Registering a new driver middleware
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['driverMiddlewares']['adminpanel_loggingmiddleware']
= \TYPO3\CMS\Adminpanel\Log\DoctrineSqlLoggingMiddleware::class;
Impact
Using custom middlewares allows to enhance the functionality of Doctrine components.