Re: Re: move PEAR to PHP 5-only?
| From: | Justin Patrin | Date: | Sun, 02 Oct 2005 04:52:49 +0000 |
| Subject: | Re: Re: move PEAR to PHP 5-only? | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.pear.dev php.pear.core |
| Request: | Send a blank email to pear-dev+get-40035@lists.php.net to get a copy of this message | ||
On 10/1/05, Greg Beaver <greg@chiaraquartet.net> wrote:
> Justin Patrin wrote:
> > On 10/1/05, Joe Stump <joe@joestump.net> wrote:
> >
> >>>I agree. Dropping support for PHP4 constitutes a BC break. Think of
> >>>Joe Developer, who upgrades PEAR-1.4 to PEAR-1.5. Oops, PEAR breaks.
> >>>This is what defines a BC break.
> >>
> >>No, it's not. A BC break is when the *API* changes, not when a
> >>dependency changes. If this was the case then adding any new
> >>dependency would constitute a BC break, which is just silly. As Greg
> >>already stated the PHP5 version of PEAR won't install on a PHP4 system.
> >>
> >
> >
> > No, adding a new dependency is not a BC break, and no, changing your
> > dependency to a newer version of a package is not a BC break, but
> > you're all missing one very large problem. PHP is not a PEAR package
> > and cannot be treated as such.
> >
> > Not only does PHP5 break BC, it *cannot* be used in conjunction with
> > PHP4. PEAR's rules allow 2 versions of a package to be used in
> > parallel. You can't do the same with PHP versions.
>
> eh? No, you cannot use DB_DataObject 1.7 and DB_DataObject 1.8 at the
> same time in the same script. The point is that you can use
> DB_DataObject 1.x and DB_DataObject2 2.x at the same time.
>
Yes, and PHP4 => PHP5 is a major version # switch, not a minor switch,
and has some major BC breaking differences (especially if you want
E_STRICT compliance). As such, moving to it can cause BC breaks. If
your package depends on a package which breaks BC your package has
implicitly broken BC. As I said before, PHP is not a PEAR package and
as such can't be treated exactly the same. It's not a matter of upping
a dependency to a newer, more secure, less buggy version. It's upping
a dependency to a BC breaking version.
> If PEAR 1.5.0 were to switch to PHP 4.3.0 and start using
> file_get_contents(), it would not longer work alongside PEAR 1.4.0 in
> PHP 4.2. This, however, is not a BC break.
>
No, but see above. PHP 4.2.0 => PHP 4.3.0 is not the same as PHP4 => PHP5.
In addition, you didn't respond to my other point. The installer (and
users) will be confused by 2 seperate stable release cycles within one
package.
--
Justin Patrin