PECL 和 PEAR 有啥区别?
Posted
技术标签:
【中文标题】PECL 和 PEAR 有啥区别?【英文标题】:What are differences between PECL and PEAR?PECL 和 PEAR 有什么区别? 【发布时间】:2010-11-26 00:01:12 【问题描述】:我可以看到 GD 库是用于图像的。但是我看不出PECL和PEAR之间的区别。 两者都有身份验证。 两者的主要区别是什么? 为什么不把它们结合起来?
【问题讨论】:
【参考方案1】:PECL 代表 PHP Extension Community Library,它有用 C 编写的扩展,可以加载到 php 中以提供附加功能。您需要拥有管理员权限、C 编译器和相关的工具链才能安装这些扩展。
PEAR 是 PHP Extension and Application Repository,它有用 php 编写的库和代码。您可以简单地下载、安装并包含在您的代码中。
所以,是的,它们很相似,但又如此不同:)
【讨论】:
非常明确的答案。我要补充一点,PEAR 实际上是两件事:它是库的存储库,但它也是一个分发渠道/包装系统。最初,打包系统只是分发单个 PEAR 存储库,但今天,分发渠道可以被任何第三方库使用。 @troelskn,您称其为“分销渠道”?它与普通的 tomdickharry PHP 库有何不同?你是否也将 jQuery 称为“分发渠道”? @troelskn,实际上 jQuery 和 tom and harry 也有明确定义的协议。 PEAR 与他们有何不同? @Pacerier 上次我查看时,jQuery 没有包管理器。在 js 社区中,npm 似乎填补了这些天来的这个空白(尽管这些年来也有其他参赛者)。【参考方案2】:PECL 是 PHP 的 C 扩展库。这些扩展通常通过pecl
命令安装,该命令是pear
的别名,默认通道/存储库设置为pecl.php.net
。
PEAR 是多种东西:
-
installer 包(
pear
命令)能够安装来自不同渠道(存储库)的包,包括 pecl.php.net。许多人认为 composer 是 pear 安装程序的继任者。
包 repository http://pear.php.net/packages.php 包含约 600 个库。其中许多是 composer 可安装的。
一个 PHP coding standard 可用于 PHP_CodeSniffer。
【讨论】:
感觉说 PEAR 生态系统包含编码标准更准确/清晰?【参考方案3】:pear是一个用php写的php类 而 pecl 是不是用 php 编写的扩展,需要编译。
【讨论】:
【参考方案4】:PEAR 本身不是编码标准。相反,PEAR“遵循”PHP 社区鼓励的一套编码标准。然而,这并不是 PHP 用户可以遵循的唯一编码标准,例如 ZF。推荐一个稍微不同的标准。
【讨论】:
【参考方案5】:PEAR 也是一种编码标准 ;-) php_codesniffer(通过 $pear install php_codesniffer 安装)是一种工具,可以扫描您的代码并突出显示它偏离该代码或任何其他支持的编码标准的地方。
【讨论】:
以上是关于PECL 和 PEAR 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章