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 相关文章推荐
.htaccess文件保护实例讲解
Feb 06 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
php验证码生成代码
Nov 11 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
基于php编程规范(详解)
Aug 17 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 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配置php-fpm启动参数及配置详解
2013/11/04 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
浅谈Python数据类型之间的转换
2016/06/08 Python
Python中函数参数调用方式分析
2018/08/09 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Python进行特征提取的示例代码
2020/10/15 Python
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
鸡毛信观后感
2015/06/11 职场文书
生产车间管理制度
2015/08/04 职场文书
全民创业工作总结
2015/08/13 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
手把手教你导入Go语言第三方库
2021/08/04 Golang
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python