pear
PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库。
PEAR 将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebService 等许多方面,用户可以通过下载这些类库并适当的作一些定制以实现自己需要的功能。避免重复发明“车轮”。PEAR 的出现大大提高了PHP 程序的开发效率和开发质量。
- PHP 的扩展及应用仓库,扩展都是采用PHP代码编写,用PEAR下载的代码需要include进代码里
PECL
PECL 是“PHP Extension Community Library”的缩写,即PHP 扩展库。
PECL 可以看作PEAR 的一个组成部分,提供了与PEAR 类似的功能。不同的是PEAR的所有扩展都是用纯粹的PHP代码编写的,用户在下载到PEAR 扩展以后可以直接使用将扩展的代码包含到自己的PHP 文件中使用。而PECL是使用C 语言开发的,通常用于补充一些用PHP难以完成的底层功能,往往需要重新编译或者在配置文件中设置后才能在用户自己的代码中使用。
- PHP 的社区库,此库的扩展都是采用C语言编写,体现在系统上的就是WINDOWS为dll(Dynamic-link library)后缀,直接下载可用,LINUX为so(Shared object)后缀,需要编译安装,都需要更改PHP配置来注册加载
最直接的表述:PEAR是PHP的上层扩展,PECL是PHP的底层扩展。它们都是为特定的应用提供现成的函数或者类。
composer
composer是php的包管理工具,优点在于仅需要提供一个composer.json文件,申明需要用到的三方库,一个简单的命令就能将其依赖全部装好。也方便项目的部署和发布,因为只需要提供一个composer.json就行了,还提供了自动加载的支持。这就涉及到php-fig组织的PSR-0规范了
总结:composer和pear功能是一样的,但是composer更方便好用,pear差不多被淘汰了。如果需要上层的包(第三方的脚手架)之类的建议使用COMPOSER,如果是底层的C扩展,只能采用PECL安装了,PEAR是一个古老的东东,在COMPOSER之前用的多。