On 02/09/2016 20:32, Davey Shafik wrote:
I'd like to introduce a new RFC to deprecate pear/pecl (in 7.2, and remove
in 8.0), as well as add composer/pickle (optional in 7.2, default in 7.3+)
in their place.
https://wiki.php.net/rfc/deprecate-pear-include-composer
Hi Davey,
I think this is a sensible idea. It basically accepts the reality that
PEAR is no longer the main place new users of PHP should look for
3rd-party code.
Thinking about the responses so far, I thought it would be useful to
enumerate just what PEAR is, and what is being proposed for removal. It
might even be worth adding a version of this to the RFC, in case it
reaches a wider audience who won't see this discussion.
As I understand it, PEAR is:
A1) A command-line package management tool for installing and updating
packages of PHP code over the Internet.
A2) A curated default "channel" for the package management tool, at
pear.php.net
A3) The coding style guidelines for publishing on that channel
A4) An ecosystem of packages built to those guidelines
While PECL is:
B1) A related command-line tool for managing extensions to PHP itself.
B2) A default channel for the extension management tool, at pecl.php.net
The command-line tools (A1 and B1 above) are currently distributed with
PHP by default, and this is what we are looking to deprecate. Composer
is the common choice to fill the role of A1, and "pickle" is being
proposed as the official replacement for B1. Everything else will still
be there, including the ability to download the tools, probably through
your OS or stack's package management system.
As to the rest, a few rambling thoughts:
- There is no single replacement for pear.php.net. packagist.org
partially fulfils job A2, but it is a marketplace, not a curated
channel, and it doesn't do anything to standardise style (A3) or
interoperability (A4). PHP-FIG is one attempt to fill that
standardisation; it's entirely voluntary, and entirely separate from
php.net, but it's not like anyone was ever forced to publish on
pear.php.net.
- pear.php.net is technically only one "channel" compatible with the
tool, but I'm not sure how many others are out there in practice. As a
random example, I know that Swift Mailer used to maintain a PEAR
channel, but checking back it is now officially unsupported:
http://pear.swiftmailer.org/
- On the flip side, many of the packages that are published on
pear.php.net are also available on packagist.org for installation with
composer, either in this list https://packagist.org/packages/pear/ or in
unofficial forks.
- The PEAR coding style would probably be considered "out of date" by a
lot of PHP devs. That's partly a matter of fashion, but also a natural
consequence of it predating certain language features - autoloading,
namespaces, etc - which people want to take advantage of.
- There is a "PEAR2" consisting of the "pyrus" tool, and pear2.php.net.
It appears to be basically abandoned, although it is still prominently
linked from pear.php.net. I assume pyrus never made into the default
distribution of PHP?
Regards,
--
Rowan Collins
[IMSoP]
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php