|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #74957 Introduce interfaces PDOInterface and PDOStatementInterface
Submitted: 2017-07-20 13:34 UTC Modified: 2017-10-24 08:32 UTC
From: aljosha dot papsch at vinexus dot eu Assigned:
Status: Open Package: PDO related
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
Solve the problem:
20 + 18 = ?
Subscribe to this entry?

 [2017-07-20 13:34 UTC] aljosha dot papsch at vinexus dot eu
Classes PDO and PDOStatement do not implement any interface, making it harder to add custom behaviour. For example, PDO does not handle reconnecting to database, which is an issue especially in long running processes. The best shot at implementing this feature is creating custom behaviour classes with the same methods as PDO/PDOStatement (most of it should just be adapter stuff). Unfortunately the custom behaviour class cannot be used in functions which have PDO/PDOStatement typehint, making them useless.

If PDO and PDOStatement implemented interfaces, it would be possible for the custom behaviour classes to implement those interfaces as well, making them interchangeable. No changes needed in callers of PDO/PDOStatement.


Add a Patch

Pull Requests

Pull requests:

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2017-07-20 14:07 UTC]
One way to approach this is by subclassing PDO and PDOStatement. You can use the PDO:: ATTR_STATEMENT_CLASS driver option to tell a PDO object which PDOStatement subclass to return from PDO::prepare().

If you have a different use case in mind, an API change like this would require an RFC. There's a description of the process here:
 [2017-07-28 06:43 UTC] andrew dot nester dot dev at gmail dot com
Thanks for the reported request!
I've just created my PR and started internal discussion.
Here is the links:

Will see how it goes :)
 [2017-10-24 08:32 UTC]
-Package: PDO Core +Package: PDO related
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Aug 01 01:01:24 2021 UTC