Hi All, BC is a good thing when you want to keep maintenance down and developers happy but sometimes stalls progression. When there are bugs in the code that have been there for a while, chances are that they will stay there forever for BC reasons. The latest example is the postgreSQL driver, but there are many many more reports where the answer is something like "we should keep it this way for BC".
Shoundn't we make something like a BC framework? For example: two function bc_version(versionnr) and bc_bug(bugnumber) that allows you to go 'back in time' to the behaviour before the bug was fixed or to the behaviour of a specific PHP version. It's comparable to de ZE switch in the php.ini, but only for bug fixes / function changes. In this way a developer kan state someting like bc_version("5.0.0") at the beginning of his script and his script will work the same for every next version of PHP 5. The bc_bug() allows only to change the behaviour of the specific bugreport to before the fix. (so a bc_version() can also be accomplished with multiple bc_bug()'s) Together with some good documentation on the php website this can enable progression while maintaining BC. Wheter or not it has to be supported accross big version bumps (ie. PHP 5 to 6) should be considered, but you might not want to do that to keep the source clean from all the 'BC if structures'. Hope to hear some comments :) Kind regards, David Quoting Thomas Seifert <[EMAIL PROTECTED]>: > On Sun, 07 Nov 2004 11:59:09 -0800, Sean Chittenden wrote: > > >>> *nods* It's a pretty evil behavior, IMHO. It's all too common to > >>> have > >> > >> It has been like that for ages as far as I know and plenty of code > >> relies on it, so it can't be changed really. > > > > Better late than never. I've got a ton of code depending on it too, > > but believe me when I say doing: > > > > find . -type f -name '*.php' -exec perl -pi -e > > 's#\s*==\s*[']([tf])[']##g' {} \; > > > > will make me very happy. > > Oh and you will change that for all the other developers out there? > Thats great, thank you ;). > > What Christian wanted to say is this: if it is changed now it will break > backward compatibility (BC) so it will not happen! > > > > thomas > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php