【问题标题】:What is the difference between PEAR and PEAR2?PEAR 和 PEAR2 有什么区别?
【发布时间】:2011-07-21 12:15:07
【问题描述】:

所以有旧的 pear 安装程序和 pyrus,它是 PEAR 的新包管理器......或者它是 PEAR2......至少它更快而且东西。

还有旧的 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 比旧的 pear 安装程序更好。

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%......

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

【问题讨论】:

标签: php pear pyrus


【解决方案1】:

首先,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

用 pyrus,php pyrus.phar install pear/Net_URL2

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

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

【讨论】:

  • 对于“更多”,您会建议哪个来源? wiki.php.net? pear.php.net/manual/en 怎么样?这本手册不再维护了吗? Stuart Herbert 在他的网站 (blog.stuartherbert.com) 上撰写有关组件相关内容的博客。他还提到,他认为 PEAR 手册令人困惑且部分过时。 PEAR/PEAR2/Pyrus 的来源是什么?您的网站似乎也是一个非常有用的来源。
  • PHP wiki wiki.php.net 具有 PE​​AR2 标准的最新 RFC。 PEAR 手册非常详细,因此可能不像其他基础教程那样易于理解。 PEAR 手册的某些部分与 PEAR 小组所投票的内容不一致,特别是 PEAR2 的某些部分。 wiki 有最新的信息,我将尽我所能更新 PEAR 手册的 PEAR2 部分。
  • @saltybeagle,顺便说一句,你是怎么知道这些东西的。你是 PH​​P 核心团队的一员吗?
猜你喜欢
  • 2010-11-26
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 2011-12-12
  • 2010-09-16
  • 2012-03-14
  • 2012-02-06
相关资源
最近更新 更多