PEAR和Composer有什么区别?

问题描述 投票:25回答:1

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

php package composer-php pear
1个回答
42
投票

将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

© www.soinside.com 2019 - 2024. All rights reserved.