PEAR和PEAR2有什么区别?

时间:2011-03-23 17:12:12

标签: php pear pyrus

所以有老梨安装程序和pyrus,它是PEAR的新包管理器......或者它是PEAR2 ......至少它更快更好。

还有旧的package.xml版本< 2.0和新的package.xml> = 2.0 ...是与包管理器相关的版本......梨安装程序还是pyrus?

实际上PEAR2是什么?为什么http://pear2.php.net/并且整个网站都存在与版本无关的'PEAR'?它实际上是一样的吗?

有人可以向我解释PEAR / PEAR2 / package.xml<和> = 2.0 / pear installer / Pyrus(.phar)是相互关联的?

编辑1

Pyrus: Improvements from the PEAR Installer

基本上状态Pyrus比老梨安装者好。

  

Pyrus不再支持package.xml   版本1.0

所以有什么事情发生了> 1.0

  

此外,Pyrus已经介绍过   支持PEAR2包可以   提取到磁盘然后再提取   使用Pyrus升级。

我很抱歉......但那个英语是英语还是只是令人困惑的措辞?似乎说Pyrus还支持PEAR ......当然还有PEAR2。仍然要回答主要问题 - 什么是PEAR2?

编辑2

PEAR2 & Pyrus - The look ahead

这是一个2年前的展望和幻灯片的演示文稿......所以大多只是关键词和短语。

所以PEAR2是一个概念改革......以哪种方式?

有新的安装程序...... Pyrus? ......但Pyrus是否已经为PEAR2引入了支持的另一个消息来源?

包分发的限制似乎已经改变了......只有稳定且PHPUnit覆盖率至少达到50%......

其余部分对我没有明确的含义。

1 个答案:

答案 0 :(得分:23)

首先,PEAR存储库和PEAR安装程序是两个不同的东西。

PEAR2是下一代PEAR存储库,Pyrus是下一代PEAR安装程序。

PEAR存储库为在那里发布的所有包提供了一套标准。同样,PEAR2存储库具有每个包必须符合的标准。不幸的是,wiki.php.net目前还有所有细节,但这是PEAR标准和PEAR2标准之间的基本差异。

  • PEAR2包只是PHP 5.3+
  • 所有代码都在PEAR2名称空间
  • 每个包必须使用package.xml v2.0
  • 使用PSR-0自动装载机自动加载文件
  • 不允许使用require_once
  • 软件包不应该绑定到它们安装到的文件系统
  • 新版本标准允许在不重命名包的情况下破解BC
  • 包应扩展SPL异常,并实现基本的异常接口

新安装程序Pyrus实际上是一个独立的phar存档,无需复杂的安装。新的安装程序支持许多改进原始PEAR安装程序的功能,并且可以安装pear.php.net,pear2.php.net和其他与梨类兼容的通道中的现有pear包。

pyrus.phar文件中的代码符合PEAR2编码标准,因此位于PEAR2存储库中,如果您想将其用作供应商库,则可以安装。

使用pear安装程序 pear install pear/Net_URL2

使用pyrus,php pyrus.phar install pear/Net_URL2

当您安装符合PEAR2标准的软件包时,您可以安全地将其移动到其他位置,提交到存储库,并且安装不依赖于特定计算机。这使得创建包含应用程序所需库的供应商目录变得更加容易,并与其他人共享。

还有更多,但这是PEAR2和Pyrus的基础。