PHP扩展模块Pecl、Pear以及Perl的区别


Posted in PHP onApril 09, 2014

一、简短总结:
pear:一个书写的比较规范,国外较流行的工具箱代码集
pecl:php扩展包,但不属于php基本扩展范围
perl:一种早于php出现的脚本级语言,php借鉴了他的正则表达式部分

二、Pear、Pecl都是PHP扩展模块的集合。是扩展PHP的两种方法:

A.一种是用纯粹的PHP代码写函数和类。
Pear就是这样一个项目。PEAR是PHP的官方开源类库(PHP Extension and Application Repository的缩写)。Pear在英文中是梨子的意思。PEAR将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈面、数据库访问、文件操作、数据结构、缓存操作、网络协议等许多方面,用户可以很方便地使用。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的cpan。其主页是pear.php.net。

B.另外一种是用c或者c++编写外部模块加载至php中。
Pecl(The PHP Extension Community Library)就是干这个事的,PHP的标准扩展,可以补充实际开发中所需的功能。所有的扩展都需要安装,在Windows下面以DLL的形式出现;在linux下面需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。其主页是pecl.php.net。
最直接的表述:Pear是PHP的上层扩展,Pecl是PHP的底层扩展。
这两种方法其实都是为特定的应用提供现成的函数或者类,本质上来说都是一样的。

三、PEAR, PECL和Perl的区别

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的CPAN。
PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成,多数以Dll(动态链接库)的形式体现,为比PEAR更快,但是与PEAR不同的是,PECL需要在服务器上配置并被注册到主机中。
Perl (Practical Extraction and Report Language)最初的设计者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便。Perl 一般被称为“实用报表提取语言”(Practical Extraction and Report Language),你也可能看到“perl”,所有的字母都是小写的。一般,“Perl”,有大写的 P,是指语言本身,而“perl”,小写的 p,是指程序运行的解释器。

 

PHP 相关文章推荐
开发大型 PHP 项目的方法
Jan 02 PHP
火车头采集器3.0采集图文教程
Mar 17 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
PHP设计模式之工厂模式定义与用法详解
Apr 03 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
PHP使用phpunit进行单元测试示例
Sep 23 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 PHP
排序算法之PHP版快速排序、冒泡排序
Apr 09 #PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 #PHP
php解决约瑟夫环示例
Apr 09 #PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 #PHP
PHP父类调用子类方法的代码例子
Apr 09 #PHP
一个基于phpQuery的php通用采集类分享
Apr 09 #PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 #PHP
You might like
php中常用字符串处理代码片段整理
2011/11/07 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
yii2安装详细流程
2018/05/23 PHP
Js 随机数产生6位数字
2010/05/13 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
jQuery阻止移动端遮罩层后页面滚动
2017/03/15 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
JS二分查找算法详解
2017/11/01 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
Python中asyncore的用法实例
2014/09/29 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
openCV提取图像中的矩形区域
2020/07/21 Python
一篇文章搞懂python的转义字符及用法
2020/09/03 Python
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
大学生活动策划方案
2014/02/10 职场文书
预备党员的自我评价
2014/03/12 职场文书
财务工作失职检讨书
2014/11/21 职场文书
经典导游欢迎词
2015/01/26 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
php png失真的原因及解决办法
2021/11/17 PHP
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers
APP界面设计技巧和注意事项
2022/04/29 杂记