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 和 MySQL 开发的 8 个技巧
Oct 09 PHP
php框架Phpbean说明
Jan 10 PHP
PHP5与MySQL数据库操作常用代码 收集
Mar 21 PHP
discuz加密解密函数使用方法和中文注释
Jan 21 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
PHP中预定义的6种接口介绍
May 12 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
如何用PHP websocket实现网页实时聊天
May 26 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
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
Python合并多个装饰器小技巧
2015/04/28 Python
python基于socket实现网络广播的方法
2015/04/29 Python
python实现线程池的方法
2015/06/30 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
HTML5 script元素async、defer异步加载使用介绍
2013/08/23 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
实现向右循环移位
2014/07/31 面试题
上海微创软件面试题
2012/06/14 面试题
sort命令的作用和用法
2012/11/04 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
大学自我鉴定
2013/12/20 职场文书
小学美术教学反思
2014/02/01 职场文书
节约用水的口号
2014/06/20 职场文书
甘南现象心得体会
2014/09/11 职场文书
护理实习生带教计划
2015/01/16 职场文书
同学毕业留言寄语
2015/02/27 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL