php – PEAR和Composer有什么区别?

PEAR用于安装PHP软件包,Composer用于同一件事.我相信Composer能更好地处理依赖关系,但这是唯一的区别吗?任何人都可以解释这两个包管理器之间的区别并告诉我何时使用哪个?

解决方法:

将PEAR视为弃用可能有点不久,但我认为它不会花费很长时间. Composer正在蓬勃发展并成熟,拥有大量的软件包和积极的开发.因此,最好在PHP中使用Composer作为the standard for package管理工具.

使用PEAR对于包维护者来说更麻烦.因此,PEAR上的很多代码已经过时了.开发人员需要在PEAR上发布包之前对它进行“PEAR审查”,因此与包available in Composer数量相比,可用的包很少.此外,没有办法在PEAR中为一个项目安装包.所有包都是全局安装的.使用Composer,您可以按项目或全局安装软件包.好吧,然后PEAR缺乏依赖管理,坦率地说应该是包管理器做得好的一件事.

使用PEAR而不是使用Composer可以做的一件事是安装PECL extensions.然而,pickle使用Composer并允许您在composer.json文件中定义本机PHP扩展依赖项.泡菜项目暂时经历了一些发展,不应该被认为是成熟的.

Fabien Potencier的This blog post可能有些自以为是,但我认为这是非常正确的.如果您有选择,请选择Composer,以便PEAR可以安心地死去.即使你ask the PEAR maintainers大多数人都会告诉你Composer是前进的方向,虽然有些人可能仍然对Pyrus抱有希望.(这本来是为了改进PEAR,但是在Composer的爆炸式普及下被埋没了.)

顺便说一下,您也可以使用Composer来安装PEAR包,请参阅the Composer documentation.

也可以看看:
[1] Informative slide deck about PHP package management

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...