Comments (2)
There are cases when it's required to extact
$wrappedDriver
And which cases would that be? The middleware stacks are not designed to be unwrapped and that's kind of on purpose.
but
AbstractDriverMiddleware
does not have such public api.
Please be aware that AbstractDriverMiddleware
is by no means a contract. It's a utility class. The contract of a driver middleware class is the Driver
interface. A class that only implements that interface and not the abstract class is still a valid driver middleware class.
So, even if we did add such a method to AbstractDriverMiddleware
, it would not guarantee that you could actually unwrap the whole driver stack.
I don't know what problem you are trying to solve, but I would kindly ask you to find a different way.
from dbal.
Case is mentioned here DamienHarper/auditor#184 and https://github.com/DamienHarper/auditor/blob/8edca5bedfda2f838003471321c60c45d941ba03/src/Provider/Doctrine/Auditing/Event/DoctrineSubscriber.php#L37-L42
this could be a wrong implementation from auditor lib, but it's OCP, we decorate connection/driver to add extra functionality - so imo valid solution to check instance if needed, but because driver/connection could be wrapped by many other decorators logic could be broken, that's why need to rewind or unwrap.
from dbal.
Related Issues (20)
- Nested transactions without enable Savepoints. HOT 13
- Invalid mysql is produced in MySQLSchemaManager::selectTableColumns HOT 3
- DBAL 4 MySQL COLLATION 'utf8_bin' is not valid for CHARACTER SET 'utf8mb4'" at HOT 4
- Reserved word Condition is not escaped on insert
- Doctrine\DBAL\Driver\PDO\SQLSrv\Statement::bindParam is deprecated HOT 3
- Support "ON UPDATE CURRENT_TIMESTAMP" for MySQL
- SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'TABLE_NAME' i n where clause is ambiguous HOT 2
- Password authentication failed DBAL v4 and ORM v3 HOT 4
- Impossible to create a user HOT 2
- Preventing incorrect column renames no longer possible in 4.0 HOT 11
- Partial unique index for XML mapping is not supported? HOT 4
- Column precision is not specified
- Support DuckDB HOT 1
- Doctrine\ORM\QueryBuilder::setParameter and ArrayParameterType in 4.0.0 HOT 2
- `SqliteSchemaManager` still emulates schema namespacing
- Custom driver and ExceptionConverter HOT 1
- PostgreSQL option gssencmode=disable isn't configurable HOT 4
- index-by and order-by do not work for abstract entities with inheritance type "JOINED" in many-to-many relations HOT 3
- Got error on SQLite database creation stage HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbal.