On Aug 10, 2011, at 2:45 PM, Jerome Renard wrote: > Hi Davy, > > On Tue, Aug 9, 2011 at 11:11 PM, Davey Shafik <da...@php.net> wrote: >> Hi, >> >> I'm having an issue with the reusability of the ezcDbHandler within my >> project. >> >> ezcDbHandler directly extends the internal PDO class; which when >> instantiated, represents >> the actual DB connection. This causes problems when I already have a >> connection. >> >> Specifically, the issue is that I wish to use ezcWorkflowDatabaseTiein, >> which requires >> an ezcDbHandler object in it's constructor. This is fine, except that in >> order to fulfill this requirement, >> I need to instantiate a /second/ connection to the DB with ezcDbHandler >> instead of re-using the PDO >> instance I already have elsewhere in my code. >> >> A solution to this is to make ezcDbHandler a facade for the PDO instance, >> and allow passing >> in an existing PDO instance instead of a DSN. >> >> The only backwards compatibility issue is that any code that currently does: > [snip] >> >> You can find a readable patch for this relatively simple change here: >> https://gist.github.com/09c3ab355dd9d95da5ff >> And this is the actual patch, with the whitespace changes (I put an >> is_array() around the dbParams too, bumping the indent): >> https://gist.github.com/1bdd3fb370c0449f8aa4 >> >> What are the chances of this being integrated into Zeta? >> > > I am concerned about the BC break here as it is clearly stated in the > development process > that BC can not be broken once a component in Final state [1]. > > There is absolutely no way for you to use ezcDbHandler everywhere > instead of mixing pure PDO > and ezcDbHandler ?
Unfortunately, our 300LOC code base already relies on a DB class that extends PDO for our own purposes. Changing this out for ezcDbHandler is not a feasible task. - Davey