用Pear加速PHP程序开发

pear用户手册英文版 PEAR(PHP Extension and Application Repository)目的是实做可以重复使用的函式库来提供PHP社群使用,而用户手册是提供用户使用PEAR! 立即下载
用Pear加速PHP程序开发

本文转载自:http://www.phpe.net/articles/346.shtml


?来源:TechRepublic
?

及时交付应用程序是确定解决方案采用何种技术的关键所在,PHP借助于PEAR(PHP Extension and Application Repository:PHP扩展与应用库)会大大促进其开发过程。PEAR是一种代码库,它为标准程序功能提供预先编写的类,从而大大降低了应用程序的开发时间。PEAR在概念上类同于Perl的CPAN,PEAR包含了具有丰富特性的功能函数,包括数据库、邮件和错误处理等。在采用PEAR的情况下,开发人员就可以部署和增强已经编写的基本函数同时把注意力集中到编写程序新功能这一方面上来。

PEAR基础

创建PEAR的目的是为开发人员共享PHP代码和促进代码的重用提供一种标准化的方式。该项目始终处于开发的过程中,用户可以提交自己编写的代码供加入PEAR库使用,后者则同PHP捆绑。所有的PEAR包都在考虑到语法和可读性的情况下严格遵守编码规则,这些代码由用C语言编写的PHP或者PHP扩展所组成。

Stig Bakken于1999年晚些时候开始着手开发PEAR项目。他的目的是创建一个有组织的代码库,由这个代码库起到PHP开发人员团体的资源库作用。该项目在过去的两年里成长的非常快,目前已经包含了相当多的、非常有用的可重用代码。虽然其他的PHP代码库也不少,比如 Zend的Code Gallery和PHP Builder的Source Code Snippet Library等等都非常有名,但是,PEAR提供了一种便利函数之间互操作的标准。此外,提交给PEAR的代码会接受严格的检查,由这类标准和检查措施保证代码的质量和可靠性。

可用的功能

PEAR分成三类:PEAR核心组件、PEAR包和PECL包。核心组件(Core Component)包括PEAR和PEAR_Error的基类以及数据库、HTTP、日志记录和电子邮件函数等。PEAR包包括提供认证、联网和文件系统特性的函数以及采用XML和HTML模版的工具等。PECL包是对PHP的扩展,它用C语言编写,并不遵守编码规则。目前,所有这一类的代码都是实验性的。要了解有关PEAR功能的更多信息请参考 PEAR在线手册。

假如你有兴趣给PEAR提交代码,你可以加入PEAR开发者邮件列表并且请求大家检查你的代码,从而实现以上目的。不过,你得注意到已经包括在库内的函数并且遵守PEAR的编码规则。

从哪里获取PEAR

PEAR捆绑在PHP发布包内,当你安装PHP的时候也就同时安装了PEAR。假如你打算获得一个稳定的版本,而且你可以在没有最新PEAR版本的情况下也活得下去,那么你可以从php.net的下载网页获得最新的PHP版本。假如你喜爱冒险,希望采用最新版本的PEAR,你可以按照匿名CVS访问的指示用CVS客户程序下载它。

安装了PHP之后PEAR资源就会被放置到~/php/PEAR/ 目录下。你不妨把自己的php目录位置增加到php.ini的include_path参数中来(比如:include_path = ".:/usr/local/lib/php";),这样就可以使用PEAR功能了。

如何使用PEAR

现在所要做的无非是在用到函数和你编写的其他类的地方采用require_once()。清单A中的例子使用了PEAR的电子邮件特性Sendmail。这部分代码例示了PEAR库内的Mail.php文件,该文件是对PEAR.php类的扩展。

接下来,我们设置一些必要的变量,它们是$recipients、$headers和$body,这些变量是所有PEAR Mail函数和$params所需要的。你可以参在线PEAR手册找出这些变量的设置方法。在PEAR代码本身的注释中也蕴涵了很多信息,不过一般而言,网站对你的帮助还是最大的。

最后,示例代码会调用PEAR Mail类。首先,我们用~/php/Mail.php文件中的Mail::factory方法为邮件驱动程序包含适当的类文件,在我们所举的例子里就是Sendmail(位于~/php/Mail/sendmail.php文件内)。接着,我们从PEAR Mail类里实际调用邮件发送函数。当我们对Mail类实例化的时候采用引用(=&)就可以通过引用名$mail_object引用该类了。

假如你想了解PEAR DB函数的用法,你不妨到?Quick Start Guide to Pear DB去看看,它是由Tomas V. V. Cox负责维护的。

为什么使用PEAR

如上所述,PEAR功能部署简单,同时不需要额外的编程。虽然我们可以用PHP的固有函数达到同样的结果,但是,部署PEAR模块可以立即为我们带来错误检查等实际利益,同时还便利了程序的重用。

此外,越来越多的高级应用程序也开始采用PEAR了,而PEAR的代码库也在不断的增长之中。因为PEAR包含在PHP许可权之内,所以你可以免费使用或者修改你选择的函数。还有,你再也不必反复编写令人麻木的认证模块了,这对开发人员来说可是一项具有相当吸引力的好处,而且你还可以享受到定制开发的莫大优点。

好处多多

采用合格的预编写、可重用代码,你就可以显著地加快应用程序的开发周期而不必在技术选择上过分地费脑筋了。PEAR是PHP团体为便利开发者而付出的努力所结出的硕果,它提供了实现优秀应用程序的一整套方法。采用PEAR代码以及为其做出自己的贡献不仅加快了项目交付时间,同时还可以在今天和未来开发出质量更好的应用程序。

TechRepublic是一个专为各类IT专业人士设立的在线社区以及资源中心,我们提供有深度的技术文章,这些文章由IT专家写成,面对IT专家读者。除了提供从Windows到e-mail到防火墙等各种文章以外,我们还提供IT业界分析,下载,管理要点,讨论组以及新闻邮件服务。

利用CANoe和CAPL实现高效CAN网关设计与仿真 本文详细介绍了如何利用CANoe和CAPL进行高效CAN网关的设计与仿真。通过搭建仿真工程、导入DBC数据库、编写CAPL脚本等步骤,手把手指导读者构建一个连接不同CAN网络的网关模型,实现报文的监听、转发与信号处理,从而在硬件开发前验证逻辑,提升汽车电子开发效率与可靠性。 阅读详情

相关推荐

Ardupilot环境搭建

Ardpilot介绍:ArduPilot通过多种传感器的数据(GPS、加速度计、气压计、磁场计)等来估计飞行器的姿态,从而使飞行器能够保持稳定。

weixin_62387234的博客 2637

安装/修复pecl

使用pecl命令报错 $ pecl warning require_once 'Console/Getopt.php'; //报错文件地址 ERROR_PATH/pear/System.php 具体的修复步骤 1.使用 go-pear.php /go-pear.phar 安装 pear 1.go-pear.php 使用条件 php_version <= 5.1.6...

又是废柴的一天。。。 822

基于 Datawhale 开源量化投资学习指南(10):基于 LightGBM 的量化选股

通过本篇文章,我们深入探索了如何运用 LightGBM 机器学习模型实现量化选股。首先,我们通过获取股票的历史数据,进行特征工程和标签制作,将选股问题转化为一个分类问题。接着,我们使用 LightGBM 训练模型,并在验证集和测试集中评估了模型的表现。该选股策略的核心在于结合机器学习算法,从历史数据中寻找能够捕捉股票短期涨跌的关键特征,从而为投资者提供辅助决策支持。虽然本文的模型取得了一定的效果,但这只是量化投资领域的一小部分。

不想宅的冷同学 1347

如何自己安裝和使用 PEAR

如何自己安裝和使用 PEAR 加入時間: 16 Oct 2003 22:29瀏覽次數: 830PEAR作為PHP中規範化和功能強大的武庫,一直以來很受關注,但是一直沒有在實用領域得到重視。究其原因,有文檔的不完整,學習資料不充分,代碼體系比較複雜,還有就是開發者支援力度不足。不過早晚這個武庫都會被給以足夠的重視。如果你現在能夠開始學習,也許可以占得一定的先機。PEA

程序人生 2608

数据分析学习总结笔记02:聚类分析及其R语言实现

** 数据分析学习总结笔记02:聚类分析Cluster Analysis ** 1. 聚类分析概述 1.1 聚类分析的直观理解 在科学研究、社会调查或日常生活中,通过观察个体的特征,将群体中的个体归为不同的族群/簇(Cluster)。 2. 聚类分析的方法 3. 聚类分析的应用 3.1 市场营销——精准营销 在市场营销中,基于消费者的历史交易信息、消费者背景等对消费者进行划分,从而对不同类型的消费...

weixin_41961559的博客 4420

error C2039: “int_least8_t”: 不是“`global namespace'”的成员

在向H.265的测试软件HM16.0中配置boost的时候,发现 include &lt;boost/cstdint.hpp&gt;的时候总是会报错:错误 11 error C2039: “int_fast16_t”: 不是“`global namespace'”的成员 D:\Program Files\Caffe\VSContact\boost_1_58_0\boost\cstdint.hpp ...

flyerene的博客 1万+

PEAR得到程序运行时间

require_once("Benchmark/Timer.php");$String = "";$Timer = new Benchmark_Timer();$Timer->start(); for($i=1;$i {   $String .= $i; }$Timer->setMarker(mark1);$String = ""; for($i=1;$i {   $String .= $i;

caaclxf的专栏 920

吃透Chisel语言.02.Chisel+VS Code+Ubuntu/WSL2开发环境搭建与使用

既然是学Chisel语言,那肯定得先把环境配置好,磨刀不误砍柴工嘛。而且有个测试环境的话,在后期的学习过程中自己去试运行代码段可以加深学习效果。这里推荐使用Ubuntu或者基于WSL2(Windows Subsystem Linux 2)的Ubuntu,本人使用的是WSL2上的Ubuntu 20.04.3 LTS,在使用体验上与Ubuntu几乎没有区别,且能同时使用Windows提供的诸多便利。...

github-3rr0r的博客 8448

mac 下安装使用pear/pecl

首先要为大家分享的内容是PECL 和 PEAR 他们之间的不同和相同之处。 PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库。   PEAR 将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebService 等许多方面,用户可以通过下载这些类库并适当的作一些定制以实现自己需要的功能。避免重复发明“车轮”。PEAR 的出现大大提高了PHP 程序的开发效率和开发质

weicaijiang的专栏 938

Android开发者必看:火山引擎API验签实战,5分钟搞定年龄变化接口调用

本文为Android开发者提供火山引擎API验签实战指南,重点解析HMAC-SHA256签名算法实现,并以年龄变化接口为例展示完整调用流程。通过OkHttp封装和性能优化建议,帮助开发者5分钟内快速集成火山引擎人像处理功能,解决API调用中的签名验证、参数编码等核心问题。

weixin_30342209的博客 319

基于MATLAB开发AUTOSAR软件应用层模块-part3.自动生成的代码文件介绍

上篇文章我们介绍了如何设计一个简单的模型,之后自动生成autosar架构的代码,这篇文章我带大家看下,生成了哪些文件,以及这些文件的内容。 生成的文件见下图: model files是模型控制逻辑部分代码,包括 DEMO1.c DEMO1.h DEMO1_private.h DEMO1_types.h DEMO1.c 1 /* 2 * File: DEMO1.c 3 * 4 * Cod.

汽车软件开发 1978

PECL 和 PEAR 有什么区别?

  要为大家分享的内容是PECL 和 PEAR 他们之间的不同和相同之处。PEAR 是“PHP Extension and Application Repository”的缩写,即PHP扩展和应用仓库。  PEAR 将PHP程序开发过程中常用的功能编写成类库,涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebService 等许多方面,用户可以通过下载这些类库并适当的作一些...

qq_34501154的博客 261

RPA与旅游与酒店行业自动化实战案例

1. 背景介绍 1.1 旅游与酒店行业的挑战 旅游与酒店行业是一个高度竞争的市场,企业需要不断提高服务质量、降低成本、提高效率以保持竞争力。在这个过程中,企业面临着诸多挑战,如客户需求多样化、市场变化快速、人力资源成本高昂等。为了应对这些挑战,企业需要寻求新的技术手段来提高运营效率。

AI天才研究院 615

php 什么是PEAR?

 什么是PEAR?(第一篇)第一章 爱好PHP者必喜欢PEARPHP爱好者必喜欢PEAR,我们的目的就是希望将PEAR介绍给PHP的程式开发人员,我个人认为引用程式库的程式开发方式已经渐渐成为趋势了,除了php、JSP外,像perl、C++也都有专属的程式库供其开发人员引用。借着引入PEAR,php的程式开发者除了可以大幅缩減撰写程式码的工作与时间外,还可以用很简单的方式得到许多強大的动态

python二级题库 1246

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

PHP程序加速探索[8]--内容缓存输出 PEAR cache

◆ 内容缓存输出 PEAR cache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。下面是一个没有使用缓存的PHP小程序:pear_content_cache1.phpecho "这是内容。"; echo "当前时间是" . date(M-d-Y H:i:s A,

Haohappy的专栏 6342

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

PHP内容缓存输出 PEAR cache

PHP内容缓存输出 PEAR cache作者:未知PEAR cache 安装/usr/ports/sysutils/pear-Cachemake install clean◆ 内容缓存输出 PEAR cache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。 下面是一

cqinter的专栏 2097

PHP程序加速探索[9]--加速--函数缓存输出 PEAR cache

◆ 函数缓存输出 PEAR cache PEAR除了可以对输出的内容进行缓存处理外,还可以将对某个函数的调用结果缓存起来。这是个很有趣的功能,如果你的程序要频繁使用到某个函数,而且调用的结果相同的话,我建议你不妨试试,特别是当这个函数运行起来比较慢的时候。下面我们实现对一个执行起来很慢的函数slowFunction()的缓冲调用。require_once Cache/Functi

Haohappy的专栏 3333

php脚本怎么加速执行,PHP程序加速探索之脚本执行速度测试_php

前面有提到,只有找到影响速度的代码,我们才有可能进行优化。PEAR的benchmark包中的Benchmark_Timer类和Benchmark_Iterate类,可以用来很方便地测试脚本执行的速度。(关于PEAR的安装与配置请自行查看相关资料) 。首先用Benchmark_Iterate类来测试程序中某个函数或类的某个方法的执行时间。benchmark1.phphttp://www.gaodai...

weixin_36163672的博客 346

CTF实战:利用PEAR绕过preg_match的文件包含漏洞解析

文件包含漏洞是Web安全中常见的高危漏洞,其原理在于应用程序未对用户输入进行严格校验,直接将可控参数传递给include、require等文件包含函数,导致攻击者可能读取敏感文件或执行任意代码。在PHP环境中,结合正则过滤(如preg_match)可增加攻击难度,但通过深入理解PHP的include路径搜索机制与特定组件(如PEAR)的默认行为,攻击者仍可构造巧妙的利用链。本文以一次CTF实战为例,详细剖析了如何利用PEAR/Config.php这一合法组件,通过路径穿越与查询字符串拼接,绕过对“flag”

weixin_30321449的博客 462

PHP 程序加速探索

Haohappy 2004-07-27haohappy@msn.com - (一)简介- (二)是否需要加速?- (三)如何加速?    - 测试        ◆ 服务器负载测试 ApacheBench        ◆ 脚本执行速度测试 PEAR:: Benchmark    - 加速        ◆ 代码优化       ◆ 压缩输出 Gzip       ◆ 内容缓存输出 PEAR Co

PHP - 高屋建瓴 2286

PHP解决数学的游戏问题,了解PHP处理复杂数学问题的10个PEAR类

如果你具有数学知识背景,你可能已经意识到PHP中并不具备处理高等数学概念——复杂数字、分数、多项式、统计数据和矩阵——的特殊函数。但是,这种缺陷可以由PEAR,PHP扩展和应用库来填补,它提供大量处理复杂数学单位的现成数据包。这些数据包为应用程序开发者提供一个稳健、经过良好测试的代码库,同时帮助你节省构造出你自己的数学算法所需的时间和精力。本文列出开发者在其项目中处理复杂数学问题时特别感兴趣的10...

weixin_29169899的博客 177

php加速国外网站,让网站飞起来,PHP 程序加速探索

(一)简介  本文尝试对PHP程序加速的各个方面进行探索,包括必要性以及从不同角度采取的具体措施。希望有助于读者了解PHP程序加速,并应用于实际。(二)是否需要加速?这个问题听起来有点愚蠢。在这个时代,很少有人会怀疑时间是最宝贵的财富,尤其是在商业市场上。程序执行越快,用户就节约越多的时间,这样你的程序就可以用更少的时间和资源为用户服务,从而产生更多效益。我想对于大部份人(包括我自己)来说,很多W...

weixin_39762478的博客 207
上一篇: Pear DB 新手入门指南(中译 by Chagel)
下一篇: Dev-Cpp/Mingw32 环境介绍(1)
cfyy
博客等级 码龄22年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值