Re: Re: Breaking BC / Changing API / Deprecating

From: Date: Wed, 20 Jul 2005 05:08:50 +0000
Subject: Re: Re: Breaking BC / Changing API / Deprecating
References: 1 2 3  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-38775@lists.php.net to get a copy of this message
Ian Eure wrote:
On Tuesday 19 July 2005 09:41 am, Lukas Smith wrote:
Joe Stump wrote:
I've heard from the QA team that you can't break backwards compatibility without creating an entirely new package (ie. Foo_Bar - > Foo_Bar2). Or change the API without doing the same. Does this simply sound retarded to anyone else? Isn't this what version numbers are for?
This is due to the fact that you may be using multiple packages that depend on different versions of the API. As such its necessary to have a different namespace.
The package.xml versionsed dependencies don't solve this?
No. Why? You would need to require this code (in essence): <?php // $Revision 1.4$ class X {} ?> and this code: <?php // $Revision 1.7$ class X {} ?> What you get is of course "class X already defined in ...." fatal error. If you instead have: <?php // $Revision 1.7$ class X2 {} ?> there is no conflict. If namespacing ever gets into PHP (unlikely), we can drop the naming requirement entirely. Greg

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