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数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
twig里使用js变量的方法
Feb 05 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
PHP类的特性实例分析
Sep 28 PHP
php简单中奖算法(实例)
Aug 15 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
社区(php&&mysql)二
2006/10/09 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
js 蒙版进度条(结合图片)
2010/03/10 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
Python3处理文件中每个词的方法
2015/05/22 Python
Python写的一个简单监控系统
2015/06/19 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
八一演出活动方案
2014/02/03 职场文书
2015年项目工作总结
2015/04/29 职场文书
小学教师读书笔记
2015/07/01 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
apache ftpserver搭建ftp服务器
2022/05/20 Servers