19

所以有旧的 pear 安装程序和 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:PEAR 安装程序的改进

基本上说 Pyrus 比旧的 pear 安装程序更好。

Pyrus 不再支持 package.xml 1.0 版

那么任何大于 1.0 的东西是怎么回事?

此外,Pyrus 还引入了对 PEAR2 包的支持,这些包可以提取到磁盘,然后使用 Pyrus 进行升级。

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

编辑 2

PEAR2 & Pyrus - 展望未来

这是一个 2 岁的前景和演示文稿的幻灯片......所以主要是关键字和短语。

所以 PEAR2 是一个概念大修……以哪种方式?

有一个新的安装程序... Pyrus?...但是其他来源不是说 Pyrus引入了对 PEAR2 的支持吗?

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

其余的并没有向我传达明确的含义。

4

1 回答 1

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 兼容渠道的现有 pear 包。

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

使用 pear 安装程序,您将使用 pear install pear/Net_URL2

用梨,php pyrus.phar install pear/Net_URL2

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

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

于 2011-03-26T16:18:21.590 回答