Re: BC breaks: Cache_Lite, PHP_Documentor

From: Date: Wed, 01 Sep 2010 08:07:40 +0000
Subject: Re: BC breaks: Cache_Lite, PHP_Documentor
References: 1 2 3 4 5  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-53751@lists.php.net to get a copy of this message
Hi Daniel, On 01.09.2010 4:11, Daniel O'Connor wrote:
I'm a bit reluctant to leave as is for too long (read: years) - both
packages are fairly popular, and if PHP 5.4/6 kills off the methods; the migration path for a heck of a lot of other users is much more painful (Cache_Lite -> Zend_Cache, PHPDocumentor -> ... doxygen?).
You are missing my point again: the migration path for users is to stop relying on magic_quotes_runtime and switch it off.
The migration path for packages is to quit calling
set_magic_quotes_runtime() unconditionally (I now see that phpDocumentor does that): this will prevent errors for people who are not relying on deprecated functionality. Agree, but... how do we get the magic quotes people to fix their
environments without raising errors (and thus introducing a BC break)? I'm talking the ancient, PHP4, there's no E_DEPRECATED raised folks as opposed to the PHP 5.* folks. All one of them. At what point do we go "oh nuts to those PHP4 users on http://stopphp5.org/, they keep posting about python anyway, let's make a minor BC break to make it visible"? The don't-leave-it-years desire - yes, we could conditionally check things; but I imagine in the next major version; get_magic_quotes functionality would probably go the way of the dodo too - so we end up having to do this dance again for the PHP 5.* users.
I don't think we understand each other. First of all, get_magic_quotes_runtime() is *not* deprecated: http://ru2.php.net/manual/en/function.get-magic-quotes-runtime.php I think the idea is that it will remain and will return false after magic_quotes functionality itself is removed. People who are still running PHP4 don't have to fix anything since PHP4 supports magic_quotes_runtime and will support it in the future (as no changes to PHP4 are being done). No problem here. If users upgrade from PHP4 to PHP5.x they should read release notes, obviously. It is a new major version, we don't promise BC between major versions in PEAR, either. Those who are running PHP5 and have magic_quotes_runtime switched on should probably get E_DEPRECATED errors, it is a far nicer solution that silently break the packages for them with (too easily ignored) PEAR::raiseError(). Those who are running PHP5 and have magic_quotes_runtime switched off don't have to fix anything as errors are only raised at run time if set_magic_quotes_gpc() is called. We should only check that set_magic_quotes_gpc() is not called unconditionally (e.g. phpDocumentor) and that the package itself does not rely on it being on (no packages do this, AFAIK).

« previous php.pear.dev (#53751) next »