gpt4 book ai didi

php - PEAR 和 PEAR2 有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 00:02:59 25 4
gpt4 key购买 nike

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

还有旧的 package.xml 版本 <2.0 和新的 package.xml >=2.0 ...该版本与包管理器有关... pear 安装程序还是 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 no longer supports package.xml version 1.0

那么,任何 > 1.0 的版本是怎么回事?

In addition, Pyrus has introduced support for PEAR2 packages that can be extracted to disk and then later upgraded using Pyrus.

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

编辑 2:

PEAR2 & Pyrus - The look ahead

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

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

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

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

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

最佳答案

首先,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 是不允许的
  • 不应将软件包绑定(bind)到它们安装到的文件系统
  • 新的版本控制标准允许在不重命名包的情况下破坏 BC
  • 包应扩展 SPL 异常,并实现基本异常接口(interface)

新的安装程序 Pyrus 实际上是一个独立的 phar 存档,不需要复杂的安装。新的安装程序支持许多对原始 PEAR 安装程序进行改进的功能,并且可以安装来自 pear.php.net、pear2.php.net 和其他 pear 兼容 channel 的现有 pear 包。

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

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

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

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

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

关于php - PEAR 和 PEAR2 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com