PEAR和PEAR2有什么区别?

Raf*_*ael 19 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:PEAR安装程序的改进

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

Pyrus不再支持package.xml 1.0版

那么什么是> 1.0?

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

对不起......但那个英语是英语,还是只是令人困惑的说法?似乎说Pyrus还支持PEAR ......当然还有PEAR2.仍然要回答主要问题 - 什么是PEAR2?

编辑2:

PEAR2和Pyrus - 展望未来

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

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

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

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

其余部分对我没有明确的意义.

小智 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异常,并实现基本的Exception接口

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的基础知识.