Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19279213
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-17 08:50:59

最近在找pear的资料,中文的太少了,难得找到一点点,分享一下吧~~
什么是PEAR?(第一篇)
 
第一章 爱好者必喜欢PEAR
PHP爱好者必喜欢PEAR,我们的目的就是希望将PEAR介绍给PHP的程式开发人员,我个人认为引用程式库的程式开发方式已经渐渐成为趋势了,除了php、JSP外,像perl、C++也都有专属的程式库供其开发人员引用。
借着引入PEAR,php的程式开发者除了可以大幅缩減撰写程式码的与时间外,还可以用很简单的方式得到许多強大的动态网页功能,我将会列举许多的实例,让大家看了后,一定会啪掌叫好,並深深的迷上了PEAR。此外,程式码很容易维护,安全性高也是PEAR另2个很吸引人的优点,PAER程式库宛如模组,可以轻易的抽換与更新,完全不会影响到其他的程式码。
我们是从最基本的观念介绍起,包括PEAR这个专有名词的含意? 在那地方取得PEAR套件(package)? 如何使用PEAR套件等?
从第2章起,我们首先介绍PEAR的起源、历史与特色,让大家对PEAR有个基本的认识。
第3章我们将会介绍PEAR程式库套件的安装与管理,这一章是非常重要的,在使用PEAR之前,必需先把这些基本功夫学好,虽然有点复杂,但是学会之后受用无穷,让您的PHP程式开发效率倍增,功能随着递升。
第4章,是由简单的范例介绍如何引用PEAR程式库来开发PHP程序,让我们了解PEAR的一般使用方法,也为程式库的使用建立一个基本的操作流程。
在第五章我们将介绍几个用法简单又功能強大的程式库套件的范例,让大家可以在动态网页上快速建立一些您以前无法想像而又非常酷的功能,让您的程式开发功力立刻提高。例如:
◆ 让网页可以提供天气预报的功能,增加网页的附加价值。
◆ 用很简单的方法在服务器上建立网页的快取(Cache),加快网页的开啟速度。
◆ 在动态网页上搜寻某台主机有提供那些PORT号的服务。
◆ 在动态网页上查询某个网域名称(DNS),找出相对应的IP。
◆ 动态產生表格。
◆ 快速建立「客戶回函」系统,让网页浏览者可以从网页上寄信给网站管理员。
◆ 让网页可以记錄网页浏览者的行为,也就是做Log。

第6章到第13章,我们会很详细地介绍一些很重要,很常用,但较为复杂的程式库套件的使用方法,这几章都是以套件为介绍的主轴,也就是說,一章只介绍一个套件,务求将这几个重要套件中较为重要功能,详细地介绍给大家。
这些套件(packages)包括:资料库连線套件、表单制作套件、身份认证套件、档案上传套件、分页套件等等。

最后,附錄A会对PEAR的官方网站做详细的介绍,当您进入PEAR的世界后,您一定会经常来这个网站寻找资料。知道如何利用官方网站,对于那些PEAR的PHP开发者而言,是十分重要的。附錄B则会对PHP的物件导向程式设计做简单的介绍。
喜欢和适合使用PEAR者分类如下:
◆ php爱好者,那一定要用PEAR,因为它絕对棒极了。
◆ PHP的专业程式设计员。您需要的是程式码的安全性,可重复性,以及良好的工作效率,PEAR絕对是必备的。
◆ PHP的程式玩家,想要开发更有趣的,功能更強的应用程式,卻不想被撰写PHP程式的一些烦恼绑缠,PEAR绝对可以满足您的要求。
◆ 自己撰写PHP程式,卻不喜欢每次都要从零开始,一字一字地敲打程式码,PEAR可以提高您的工作效率。
◆ 您想要功能性強,安全性高的PHP,当学会了PHP的基本语法后,可以试著使用PEAR。
◆ 您需要量身定造的PHP应用程式,換言之,您不喜欢像XOOPS之类的套装应用程式,来试试PEAR吧。
◆ 您需要容易维护的PHP应用程式,不想日后常修改程式码,或因为PHP的改版而将整个程式重新设计。
◆ 您希望您的PHP程式可以物件导向化,方便程式的抽換与模组化。
◆ 您希望您的PHP功力更上一层楼,想要学习更多的PHP相关知识,透过PEAR的使用或观看PEAR的原始码,不失为一个好的学习途径。
PEAR就是专门为有以上这些需求的人所写的。
使用PEAR就像建一座房子一樣。它是让您用预制件的方式,建一栋自己设计兼施工的大房子,但卻不需要自己搅拌水泥,自己準备沙土、石头,自己燒磁砖.自己做铝门窗,自己做木工装饰等等...。
PEAR就像是已经针对您的需求所订制好並準备好的预制件,您只需要运用创意将他们组合起来就可以了。
我门在使用PEAR来编写PHP程式时,必需有一个先決条件,就是必需对PHP的相关知识有一定的认识。
若您不知道甚麼是PHP,什麼是、,或者您虽然知道,卻还不会PHP的基本语法,那麼,本文章目前並不适合您。建议您快去买些PHP、Apach、Mysql的入门书籍,详加研读后,才来看本文章。
大家並不一定要是PHP高手,但一定需要具备看懂基本PHP程序码的能力。无论如何,首先对PHP的热爱才是閱读本书最基本的先決条件。
 
第二章
PHP有许多的规范与语法,我们不做介绍,请大家有空去閱读有关PHP的书籍,我们重点介绍的是PHP发展到4.0版以后。加入了物件导向(Object-Oriented Programming Language)的功能,虽然还无法像了一樣做到完全的物件导向,但比起前版本PHP3.0已经是一大进步,也对PHP的程序开发者提供了更強大与更方便的开发能力。
PHP 5.0版以上的版本,已经转变成为彻底的物件导向化,提供了更多完全物件导向功能。我们所介绍的PEAR程式库对PHP 4.3.0以上的版本是完全的支援。这一点请大家放心。
为了大多数人著想,也考虑到PHP向下的相容性,本书的內容与范例都可以在PHP 4.3.0版以上的环境中执行,因为PEAR完全支援PHP 4.3.0以上的版本,小于PHP 4.3.0版的环境,PEAR大部分也是支援的,只有小部分不支援。
什么是PHP的物件导向? 物件导向的语法在传统的PHP程式中较少看到,但若您了解JAVA这种程式语言的话,您应该可以知道什麼足物件导向,我会在附錄B有针对物件导向做简单的說明。
另外,我要強调的是:PHP除了基本语法外,內建的函式就有超过上千个,橫跨上百种类別,包括文字类函式、数字类函式、资料库类、图形类等等,功能相当強大,令人吒舌。但相对於程式开发者,如何善用这些函式,配合PHP的语法撰写有效又好管理的程式码,将会是一大挑战。
在今天,有PEAR这个由全世界众多顶尖的PHP高手所共同生產的智慧结晶,可以让我们轻松又有效率地撰写程式码,並克服许多撰写上的困难。以武侠界的例子来說,用PEAR撰写PHP就宛如数百位武林高手灌注他们的功力给程式开发者。让程式开发者不用从最基本的练功,紮马步练起,借用他们的功力就可以很轻松的让功力倍增,效率倍增。
說了半天,到底什麼是PEAR?下一个单元笔者就来做个介绍。
PEAR这个字单纯就字面上而言意思是「梨子」。
一颗梨子。官方网站的网址为
PEAR官方网站的logo中可以看到梨子:
 
 
PEAR的开始是从1999年11月2l日。有一位名叫Stig S.Bakken的先生,这位仁兄发起了一个专案,並号召许多的PHP高手来共同投入,他首先为这个专案建立了一些程式码的基础规则,希望PHP的开发者加入这个专案时所撰写的PHP程式码都需要遵守这些规则。
这个专案名称就是PEAR,其实是PHP Extension and Application Repository的缩写,意即「PHP的延续与应用程式库」,简单的說,PEAR其实是一个PHP的程式库。
Bakken先生建立的程式码基础如下,我只概略說明一下,並不详谈细节的部分:
◆ 如果开发者要提供PHP程式库,程式的结构必须物件化。
◆ 程式的缩排要遵循一定的格式
◆ 程式中类別的命名也要遵循一定的格式
◆ 程式码的註解要有一定的格式
◆ 档案命名要有一定的格式
◆ 程式库撰写完成后要包装成套件,而套件的包装与安装方式,也有一定的格式。

该专案欢迎所有的PHP开发者来共同开发PHP程式库,只要他们愿意遵守上述的程式码基础规则。Bakken先生並组织了一组团队作为这个专案的控制主体,负责审核所有参与专案的开发者所提供的程式库,若通过审核,就将程式库分类並放入官方网站中供其他开发者下载使用,另外,这个团体也负责维护官方网站的维护与更新。
有些人可能会很好奇,为什麼有人会愿意免费撰写程式库让别人来使用呀? 这就是开放原码世界的精神一互助、共享。试想,若每个开发者针对自己专精的部分开发程式库给其他人使用,同时也享用別的开发者所释出的程式库,是不是可以达到互助的目的,让每一个开发者共享所有的开发者的成果.不必所有的程式码都要自己撰写。
更棒的是,这些程式库是免费开放给全世界的人使用的,不只参与程式库开发的开发者可以享用(这种作法与Java或perl提供函式库的作法是一樣的)。

因此,全世界所有的PHP开发者可以省去许多撰写程式码的时间,又因为使用程式库的开发者可以回报程式库的缺失给原开发者,原开发者也因此会不断的修正这些程式库,所以程式码相对安全。另外,程式库开发者也会随着时代演进,加入新的功能到程式库中,让程式库的使用者可以与时俱进。
详细情況可参閱PEAR的官方网站中所提到关於开发PEAR的目的說明:。我建议您有时间慢慢地看吧,继续将本文章看下去,您就会慢慢了解PEAR的神奇之处了。
我在文章的最后有一章附錄:PEAR官方网站的介绍,大家可以先参考一下。
如果您还不太了解我介绍所谓「程式库」的意思,沒关系,下一节就会透过实际的例子加以說明。
2-3 所有套件简介
▓ 程式库VS套件
介绍所有套件之前,我们必须釐清两个名词,以免读者混淆了,一个就是「程式库」,另外一个就是「套件」。
假如我是是一个PHP的开发者,发展了一个可以处理所有资料库存取「程式库」,並想将这个程式库加入PEAR分享给全世界使用。当我撰写完理资料库的程式库后,我必须按照PEAR的规定,将程式库压缩成一个「件」档,放在PEAR官方网站供所有人下载,也由於遵循PEAR的规定来压缩档案,这个套件就可以用PEAR的套件管理指令来安装或管理,这对PEAR使用者而言是相当便利的,关於套件管理指令,我会在下一章做完整的說明经过上述的說明,相信读者应该了解何谓「程式库」、何谓「套件」?其实,简单的說,把程式库包装好就变成了套件。
▓ 套件与分类
PEAR截至目前为止释出的套件已高达三百多个,共分为35大类,而且不断增加中。大家可以想像全世界的顶尖PHP开发者的结合,是一股多大的团结力量。下图是官方网站中套件的分类:
 
 
PEAR因为释出的套件太多了,为了管理上的方便所以依套件的功能将套件做分类,同一类的套件在效果上都有相关性,但提供的功能卻不尽相同小接下来,我将所有的分类用表格的方式做一个简单的介绍,让大家多了解一下PEAR套件可以提供哪些功能。
 
 
 
这麼多的分类,每一类都会依功能的不同发展出不同的套件。以第一个认证类为例,若您到官方网站去看,会发现目前该类中共有8个套件,如下图:
 
 
这8个套件都是与身份认证有相关的套件,如果您想要网页具有身份认证功能,例如,可以让网页浏览者註册、输入帐号密码、判別身份、给予权限等等。就会需要用到这些套件。
我再补充一点:有些套件已发展成熟,开发者会将它称为稳定(stable)版,但若程式库尚在发展中,但也已经可以使用,开发者将它释出,通常会称为测试版(alpha or beta)版。官方网站也会记錄套件的开发者与维护者的姓名,有时候一个套件是由许多人共同开发而成的。
这些套件的讯息都可在PEAR的官方网站中找到,我在附錄〈PEAR官方网站的介绍〉会介绍如何使用PEAR官方网站。
2-4 使用PEAR程式库的简单范例
在这一节中,我用l个简单的范例来說明程式库的使用。
假设您想要制作一个网页,並且希望知道网页执行时所耗用的时间,则可以借用PEAR所释出的名为Benchmark的程式库。这个程式库开发出来的目的就是用来计算网页的执行时间。
首先,先将Benchmark程式库套件安装好(安装方法请参考下一章)。接著我们就可以开始撰写网页了,例如:我们建立了一个名为show.php的网页。
完整程式码如下:
 
 
基於說明上的方便,我在每一行程式前面加上行号,大家实际上撰写程式时是不用加上行号的。
第1行与第2行的程式码首先引用Benchmark套件中的Timer.php网页,这个网页內含计算纲页执行时间的程式库。include_once可以将某一个外部的网页放到这个纲页来,我称这个动作叫做「引用」, 本例相当於执行了Timer.php与show.php两个网页。
第3行,用new关键字建立一个Benchmark_Timer物件,並将该物件放入名为$timer的变数中。接著使用细$timer物件的start( )方法啟动时钟,然后加上我自己的程式码,此例中是一行简单的程式。
接著就是要结束时钟的计时,计算网页执行所花费的时间並将它显示出来。第8行先用$timer物件的stop( )方法来停止时钟,並用第9行$timer物件的timeElapsed( )方法计算时钟从啟动到停止中间的时间差,並将计算结果放入$totaltime变数中。
最后用echo函式显示时间差在网页上。
执行结果如下图:
 
 
由结果可清楚看到show.php网页从开始执行到执行完毕总共花了0.00013613700866699秒,以后可以借由观察这个数字来判断系统效能,或做为程式码改进的参考。如何,执行时间的计算是不是方便、快速又神奇呢!
如果您需要在其他网页上也可以有计算网页的执行时间的功能,只要用上述方式套用在其他PHP网页上就可以了。
事实上,其他套件的使用方式也跟这个套件的使用方式大同小異.差别只是在每个套件所提供的类別、方法以及使用的参数各有不同而已。
套件虽然好用,但相信读者还是有许多的疑惑? 例如:
1. Benchmark程式库套件是怎麼来的?要有哪些前置工作才可以使用它?
2. 我是如何知道使用Benchmark套件的方法?

第1个问题牵涉到如何安装PEAR套件,以及安装后套件的管理、升级、刪除等问题,我会在第3章加以介绍。第2个问题,笔者会在第4章针对如何使用套件、如何得到套件的资讯等做一个详细的說明。
2-5 为何要用PEAR
为何要使用PEAR? 我根据自己的心得,归纳出以下几点:
1. 省时省力:许多程式码都被撰写在程式库中,开发者只需引用含程式库的PHP档,就可以拥有程式库所提供的功能,省去自行撰写的时间与精力。
2. 安全:由於这些程式库套件都将原始码公开,使用者若发现bug,可以立即向套件的开发者反映,开发者通常也会立即加以修正,让程式库的错误減到最小。
3. 容易维护:自行撰写的程式码与PEAR程式库的程式码分开,若PEAR套件因为有新功能被开发或修正错误而释出新版本,只需更新套件即可,完全不会动到自行撰写的程式码。
4. 功能強大:PEAR套件所提供的功能非常之多,除了一般常用功能如:资料库的连结、设定档的处理、身份的认证、以及表单的处理。另外,较为进阶的功能,例如像网路邮局、网路管理、动态方式產生图形、RSS、Wiki,或者像phpBB的BBCode解析等等都可简单做到。
5. 让网页的程式开发与版面设计分开:PEAR提供许多樣板的程式库,可让程式开发与版面设计分开,方便於程式开发者与者分工合作。
6. 对学习PHP者是一套絕佳的学习范例:程式库的註解說明十分详细,程式码的撰写,具有一定的规则与格式,而且完全物质化,让开发者容易看懂並学习。有些套件还內附教学文件与范例挡,最重要的是:你不用花半毛钱就可得到,我们应该感谢套件的作者们,他们为我们付出了无私的贡献。

2-6 为什么要建立PEAR社团
是什麼原因促使全世界的PHP开发者大团结,共同开发出PEAR这个程式宝库呢? 我就认为有以下几个原因:
1.遭受其他竞爭者的強大竞爭:这一点第1章已经說明过了。
2.PHP的物质化:从PHP4加入物质导向的功能后,PHP5更是进一步物质化。除了要与ASP.NET、JSP一拼外,就是方便於程式的模组化,让程式库的开发可以进行,有了物质化的功能,程式库才可以与开发者自行撰写的程式码切割。
3.开发者的共同需求:如果每一次开发PHP程式,都要从无到有完全自己来,虽然可以锻鍊程式功力,但卻沒有效率,也不甚经济。若一些常用的功能可以用程式库的方式来处理,将可以解決许多开发者的困难。基於这种所有开发者都共同拥有的需求,让这些PHP的开发者分工合作,共同发展程式库,帮助自己也帮助别人。
 
2-7 PHP的竞爭者与优缺点
PHP是在1994年发展出来的,经过四次主要的改写,成为我们今天所看到的可以广泛应用且成熟的產品。到2005年四月为止,PHP已经运用於全球超过1900万个网站上,而且这个数字还在持续快速成长中。

PHP与他们的竞爭对手相比,他具有以下优势:
高效能:不是我黄婆卖瓜,哈哈。.., 我閱览过许多Asp.NET与Jsp的网页,效能上实在无法与PHP相比。(Asp.NET与Jsp的使用者应该不会看这篇文章吧)。
● 可以与许多不同的资料库系统相连结:其他的竞爭者也可以,但沒有PHP快。
● 易学易用:PHP的程式码的写法非常直觉,容易学习。
● 支援物件导向:这方面Jsp是強项,但PHP5已经追上来了。
● 低成本:根本不用钱。
● 內建非常多的函式库:记得笔者以前使用Asp,內建的函式库实在少的可怜。
● 开放原始码:安全性会比沒有开放的高。
● PEAR程式库:这是最近的強力武器,用来与強敌们一爭长短。
● 可攜性:无论是各类Unix作业系统,如:,,商业版Unix或Windows作业系统都可以使用PHP。
Asp.NET与Jsp当然也有他们独特的优点? 例如,Jsp夹带JAVA強大的功能,它就可以呈现一些目前PHP无法做到的效果。所以Jsp也吸引了许多的使用者,但笔者对Jsp目前的效能实在还不甚满意,相反地,对PHP的快速度满意的不得了。
使用哪一种程式,就由您自行做明确的抉择,不过,若您选择观看文章,相信我们应该都是同道中人,PHP的爱好者。
总而言之,许多PHP高手共同构筑了一个強大的支援网,若您是PHP的程式开发者,卻对这些高手的好意毫不领情,那不是太可惜了吗?
-------------------------------------------------------------------------
什么是PEAR?(第二篇)
第三章
▉ 3-1 PEAR套件(Package)的资讯
▓ 套件简介
PEAR最重要的就是拥有许多的程式库可供开发者免费引用,这些程式库会被包裹成套件,而且每个套件中都会放入一个名为package.xml的档案.这是PEAR团队的规定,这个档案纪錄著程式库的档案架构,版本编号等资料,有了这个档案,程式库压缩后才有资格称为「套件」,也因为有了这个档,PEAR所提供的「套件管理指令」就可以很简单地管理程式库,例如:可以用指令来安装套件、刪除套件、观看套件资讯或套件升级等。

另外.关於套件的安全性方面,使用者若发现套件有问题,可以借由论坛加以讨论或回报给开发团队,他们就会快速的进行修正与改版,也因此每个套件都会有版本编号加以区分改版的过程。
详细內容请参閱〈附錄A.PEAR官方网站介绍〉会有收获的。

注意,若大家按照本文章的范例操作时,如发觉结果与我们介绍的内容有所不相同的地方,请不要觉得奇怪,那是因为PEAR套件更新的速度太快所致,我们所介绍的方法与原意是不会变的,只是过程会随套件的更改而变动。
▓ 如何得知套件的相关资讯
想下载套件或了解套件,读者可以进入PEAR官方网站(网址为),首页画面如下:
 
 
圈选的超连结是放置套件的所在,点选以后就出现如下的画面:
 
 
1号圈圈所在较粗黑的字代表套件的类別,例如:第1类叫做认证类(Authentication)。这个类別目前包含8个套件,这些套件都是用来处理登入与登出或身份认证与权限设定等。
2号圈圈所在较小的字代表套件的名称,如:Auth、Auth HTTP等等。大家可点选各套件名称进入观看更详细的套件资讯或下载套件。
至目前为止,PEAR的套件共有35大类,三百多个套件,开发套件的成员共202人,但这些数字都在持续增加中,若大家将来有一天,也想为PEAR社群的一员贡献一己之力,也可申请成为套件的开发人员。

要使用PEAR程式库,需要有以下几个基本步骤:
1.架设好网页伺服器,例如Apache,並安装好PHP与MySOL。
2.必须安装PEAR的一些基本套件,所谓的「基本套件」 就是所有PEAR套件都需要的套件,例如,除错是每一个套件都需要的,所以基本套件中就包含了除错套件,只有先安装除错的套件,其它的套件才可以顺利进行除错。
3.针对开发者的需求,安装特定的套件。例如,安装完基本套件后.若开发者想在网页中加入计算执行时间的功能,就必须用指令安装Benchmark套件,这个套件不是基本套件,必须由开发者自行安装。
4.在PHP程式中引用套件的程式库档。
以下我们来分別介绍,在Windows作业系统与类Unix作业系统下,如何安装与管理PEAR套件。

3-2 在Windows系列作业系统上PEAR的安装与管理
▓ 安装Apache+PHP+MySQL
如果您尚未建置好PHP的执行环境,建议您安装AppServ这套六合一软体,笔者就是使用AppServ来当作windows的伺服器环境。这个软体可以到官方网站去下载。
▓ PEAR的安装方法
安装好AppServ后,就可以开始在Windows上安装PEAR的基本套件,安装过程可以分为四个步骤。
第1个步骤:进入http;//go-pear.org/网站
请先连上http;//go-pear.org/的网站,画面如下:
 
 
接着,将网页中的文字完全复制起来后,打开系统的附属应用程式中的记事本,将刚刚复制好的文字贴上,贴上后将档案储存于C:AppServ\www,也就是网站根目录的位置,存挡时请注意,存档类型请选所有档案,副挡名需要为php,档名请自行命名,假设我自定存档名为pear.php,如下图:
 
 
如果您不想怎么麻烦,也可以用Dreamweaver之类的网页编辑软件,打开一个空白的PHP档,然后将复制的文字贴上并存档。

第2个步骤:安装基本套件
打开浏览器,在网址栏输入“http;//127.0.0.1复制go-pear网站档.php”或“http;//localhost/复制go-pear网站档.php”,其中所谓「复制go-pear网站档.php」就是刚刚复制储存复制文字的档案名称,在本范例中为pear.php,所以我输入“http;//127.0.0.1/pear.php”,即可出现线上安装PEAR的网页,如下图:
 
 

第一个画面是欢迎画面,我不多做介绍了。请按NEXT >>,进行下一步的安装步骤,出现如下的画面:
 
 

这一页是用来设定PEAR套件的安装位置,最上端有一个HTTP proxy栏位,若安装者需透过proxy才能连上网路,请将proxy的IP与port号填写在此,若沒有使用proxy,此栏位可保持空白。接著有l0项安装路径的设定,谙特別注意,其中有3个路径必须修改,分別为:
1.第l项的Install prefix,请将预设的c:AppServ﹨www改为c:AppServ﹨php,因
为我希望被安装的PEAR程式库,不要放入www中与根目錄的网页混杂在一起。
2.第9项的Filename of WebFrontend,请将预设值改为c:AppServ﹨www﹨pear﹨index.php。意思是在www中產生一个名为pear的资料夹,资料夹內的index.php是系统產生的套件管理介面,这个介面后面会提到(为防后面的操作失败,请先在C:AppServ﹨www中建立一个名为pear的资料夹)。
3.第10项的php.exe path需改为c:AppServ﹨php﹨php.exe,也就是需指定正确的php.exe档的所在位置。
其余的设定都用预设值就可以了,我在这里简单介绍一下其他设定项的意义:
● 第2项的Binaries Direetory,是将第一项的c:AppServ﹨php指定为PEAR的根目錄,並用变数$prefix来代表。
● 第3项的PHP code Directory,就是PEAR套件被安装后档案所放置的位置。本范例PEAR套件被下载后的档案会被安装在c:AppServ﹨php﹨PEAR中。
● 第4项是如果被安装的套件有內附的說明文件,本范例会放在c:AppServ﹨php﹨PEAR﹨docs中。
● 第5项足如果被安装的套件有內附的范例档,本范例会放在c:AppServ﹨php﹨PEAR﹨data中。
● 第6项是如果被安装的套件有內附的测试档.本范例会放在c:AppServ﹨php﹨PEAR﹨test中。
● 第7项是PEAR的cache档放置的位置,本范例会放在c:AppServ﹨php﹨PEAR﹨cache中。
● 第8项是快取(Cache)档的壽命,本范例快取档的壽命是300秒,也就是300秒后会重新快取。
另外,需注意的一点是网页的阅览者须对这些路径具有写入的权限,否则无法安装。
设定项修改完后,按最小方的install按钮,即可进行安装,画面如下:
 
 
 
当最上方的安装进度达到100%时,恭喜您,您已完成了基本套件的安装。根据我使用ADSL下载速度2M的环境下测试,大約2分钟即安装完毕,若大家的网路连線速度不夠快,或在安装到一半时连線中断,请按浏览器上方的重新整理钮或按F5即可重新安装。
安装完毕之后.请大家别先高兴,PEAR共有三百多个套件,目前为止只是安装了PEAR的基本套件而已,並沒有安装所有的套件,基本套件以外的其他套件则等到开发者需要使用时再逐一安装。
大家可能会问:「那其他套件如何安装? 会不会很麻烦?」大家请放心,这並不麻烦,下一个小单元中将会针对套件的安装与管理做详细的介绍。
安装完基本套件后,进入c:Appserv﹨php中将会发现有一个名为PEAR的资料夹,该资料夹即为套件经下载並解压缩后,程式库所放置的路径所在,如下图:
 
 
对大家而言,其中的docs与tests这两个资料夹內会有学习PEAR的好东西喔。有些套件会內附使用教学文件,若使用者安装该套件后,教学文件就会放在docs资料夹中。而有些套件则是內附范例程式,使用者安装套件后,范例程式会出现在tests资料夹中o
 
▓ PEAR套件的管理
安装完基本套件后,当开发者需要使用基本套件以外的其他套件时,会需要安装套件,若不需要某个套件时,就会想要移除套件,若套件版本过於老旧,则需要升级套件,也就是說开发者需要一套PEAR套件的管理系统。
在Windows作业系统下的套件安装与管理可以有两种方式,一种是使用Web的管理介面,另一种足使用「套件指令」。笔者较为推荐后者,因为执行的速度较快,但若您对指令有畏惧感,也可以用第一种来轻松管理套件。
--------------------------------------------------------------------
什么是PEAR?(第三篇)
第三篇
▓ PEAR套件的管理
安装完基本套件后,当开发者需要使用基本套件以外的其他套件时,会需要安装套件,若不需要某个套件时,就会想要移除套件,若套件版本过於老旧,则需要升级套件,也就是說开发者需要一套PEAR套件的管理系统。
在Windows作业系统下的套件安装与管理可以有两种方式,一种是使用Web的管理介面,另一种足使用「套件指令」。笔者较为推荐后者,因为执行的速度较快,但若您对指令有畏惧感,也可以用第一种来轻松管理套件。
用web介面管理套件
Web的套件管理在上一个单元安装基本套件时.就已经顺便安装好了。上一个单元中安装完PEAR基本套件的画面,在最下方会出现Start Web Rrontend of the PEAR instoller>>这个连结,点选后即可进入套件管理的Web介面,如下图:
 
 

管理介面网页档的所在位置,就是上一个单元的第9个设定项Filename of WebFrontend,我使用的范例是设为c :AppServ\www\pearindex.php,记得将它加入我的最爱。另外,先前的pear.php挡可以刪除了。
请注意上图画面的上方有3个连结,所代表的意义分別是显示已安装套件(list installed packages) 、显示所有套件(list all packages)、显示尚未安装套件(list not installed packages)。
一进入套件管理Web介面时出现的是显示已安装套件的画面,画面中有套件名称,套件功能的概略敘述与套件的版本编号,Local代表目前安装版本的编号,Latest代表PEAR官网上的最新版本的编号。

若目前安装的不是最新版本时,会出现一个upgrade的图案,按下图案即可升级套件,版本编号旁的回收筒图案若按下,会将套件移除,请大家特別注意。
接著我们进入显示尚未安装套件画面,如下图:
 
 
与显示已安装套件的画面大同小異,比较下同的是沒有了垃圾桶图案,取旧代之是一个╂图案,意思是使用者只要按下图案即可安装该套件。
安装失败? 使用者安装时有时会出现该怎麼办呢?
通常会安装失败问题大多出在套件的「相依性」,何谓「相依性」? 简单的說就是有些套件需要先安装其他套件才可使用,所以安装此套件前须先安装相依的套件,大家可点选画面中的回收筒图案,可观看套件的详细讯息,其中会提到与套件相依的其它套件。如下图:
 
 

例如:上图中,笔者安装Cache套件前,点选(!+ )图案,观看套件的详细资讯时,在最下面的Packages that depend on Cache中发现Net_Dict、Image Graph等5个套件与Cache套件相依,所以须先安装cache套件才可安装这5个套件。否则,直接安装这些套件会出现”安装失败”的讯息视窗。

套件的管理利用Web界面实在是简单又方便,但速度稍嫌缓慢,而且Web的使用者必须对放置套件的资料夹(本范例为c:AppServ\php\PEAR)具有写入的权限。
笔者推荐用另一种管理方法,推荐的理由是因为它下载套件更快速,管理功能更強大,但缺点是需要打指令。
用指令管理PEAR套件
首先,与上一个方法一樣需先用pear.php网页来安装完基本套件,虽然安装后已有Web的套件管理介面可用,可是请使用者备而不用,接著到桌面的我的电脑图案,按下右键,出现选单,请选择「内容」,会跳出系统内容视窗,在第4个名为进阶的标签中点选环境变数按钮,如下图:
 
 

出现璟境变数视窗,请点选下方系统变数窗格中的Path,按编辑钮,会出现编辑系统变数视窗,请在变数值栏位最后加上“;C:AppServ\php”,请注意,“C:”前须有一个分号(“;”)喔,编辑完按确定钮关闭视窗,如下图:
 
 
只要完成这个步骤,就可以使用指令来管理PEAR套件了。
我们来做个测试好了,请选择「开始/所有程式(程式集)/附属应用程式/命令提示字元」。在 > 后输入:
 

这个指令后按下键盘上的Enter键,将会出现所有PEAR管理指令与說明,如下画面:
 
 

注意:PEAR指令在Windows系统中使用大写和小写皆可

我接著根据上图的說明,试验一下其他指令。例如若要显示所有已安装套件,只要输入“pear list”即可,画面将会出现目前已安装套件的名称、套件编号、套件状态,如下图:
 
 

指令失效?别急,若发现指令失效,只要到C:WINDOWS下找到php.ini档并用任何一中文字编辑器将它打开,将原本的“register_argc_argv=OFF”改为“register_argc_argv=ON”,存档后,将命令提示字元视窗关闭后重开,即可以无障碍地使用PEAR指令了。
 
 
就可以进行安装,请注意,套件名称使用大小写都可以,若套件状态为stable版则不用输入套件编号,例如:笔者要安装benchmark套件,只要输入
 
 
当最后一行出现“install ok:Benchmark 1.2.1”即代表安装成功。

但若安装时出现相依性的问题而安装失败时,该怎麼办呢? 例如笔者安装Html_QuickForm套件时.出现需要先安装Html_Common套件的讯息,所以我只好再输入“pear install html_common”.这个指令,终於出现“install ok”的字樣了。
 
 
接著再安装Html_QuickForm套件,如下图,即可大功告成。
 
 
若您安装的是Beta或Alpha版也就是试用版的套件,请在pear install后输入完整的套件版本号码。例如,若您要安装liveuser这个套件,但这个套件目前並沒有释出stable版,那麼您需要使用以下指令:
 

也就是套件名称后面必须加上套件的版本编号,大家又会问,我怎麼会知道套件的版本编号呢?这就请查询PEAR官方网站了。若安装的套件不是Stable版卻沒有填写套件编号,安装时会出现”安装非Stable版”的错误讯息,並停止安装。
介绍您一个偷懒的好方法:若您一定要安装某个套件,不管它足stable版还是beta版,这时候可以使用一个指令:
 
 
例如,同樣想安装liveuser套件,卻懒得去查版本编号,那就使用这樣的指令吧:
 
 
指令中的“-f”代表強迫的意思「force」,就是不管如何都要安装就对了。

用指令移除PEAR套件
移除套件比安装简单多了,只要输入:
 
 
这樣的指令即可,如下图:假设我将移除名为benchmark套件,如下图:
 
 
最后出现“uninstall ok”代表移除套件成功了,移除套件的失败机率很低,请大家放心。

用指令升级PEAR套件
套件会有新的版本不停的释出,若要将旧套件升级成新套件也非常简单,只需要输入指令:
 

即可,例如:笔者若要升级名为cache的套件,只要输入:
 

就可以了。升级的过程与安装套件一樣,有时会出现相依性的问题而升级失败,此时只要先安装相依套件就可以了
 
 

其它指令较少用到,我在这里不再介绍了,请大家自行观看。只要在命令提示字元视窗中输入pear指令后,就会出现指令的說明。

修改php.ini档
这是PEAR使用前最后的工作了,不管您用Web介面,还足用指令来管理套件,都需要修改php.ini档。这个档放在C:WINDOWS目錄下,请用文字编辑器将它打开加入一行字如下:
 
 
加入后,记得存档,並将Apache重新执行,这樣就可以了。大家应该看的出来,include_path的值就是下载並安装PEAR套件的所在路径,但是,为何要加入此行呢?笔者下一章会加以說明。
我们来检视一下加入这一行是否让设定值改变了。请您在c:AppServ\www中建立一个档案,名为phpinfo.php,档案内只写入一行:
 
 
接着在浏览器输入http;//127.0.0.1/phpinfo.php或http;//localhost/phpinfo.php,将可看见如下图:
 
 

另外,我还建议,将php.ini档中的allowcall_time_passreference设定项的值改为On,原因我会在第6章做解释。
若一切动作沒有错误,出现的画面如上图,那么,就准备享受PEAR所带来的倍增PHP功力的絕佳体验吧。
----------------------------------------------------------------------------
什么是PEAR?(第四篇)
3-3 Linux或FreeBSD作业系统上
▓ Linux或FreeBSD安装ApaChe+PHP+MySQL
在这两种作业系统中安装PEAR套件,我觉得比WINDOWS系统还要简单。反而是安装Apache+PHP+MySQL与phpMyAdmin等软体,还有伺服器的管理比较困难。
但您若是这两种系统的爱用者,这些应该都难不倒您了,如何让这两种系统成为网页伺服器並支援PHP与MySQL资料库,请参閱市面上许多这方面的专书,他们都写得相当详细,我就不花时间与篇幅来做介绍了。
▓ 在linux上安装PEAR的基本套件
在linux上安装PEAR套件前需要先安装lynx这个程式,使用rpm来安装的话.请用以下指令:
 

Lynx-x.x-rpm可以在Linux光碟中找到。
接下来,安装PEAR的基本套件请依循以下步骤。首先请打开Linux的终端机,输入以下指令:
 
这个指令的效果与前一个单元在Windows系统中利用浏览器来安装基本套件是一樣的。输入指令后会出现以下安装基本套件的欢迎画面,若要安装请直接按下Enter键,若要放棄安装,请按Ctrl+C。

 
接下来,会询问是否透过proxy上网,若沒有请按Enter键跳过,若有请输入如下格式的URL:
 

请用安装环境的设定来更改上述URL的帐号、密码、网址、port号。设定好后,会出现6个设定项,告诉安装者PEAR套件所安装的路径,其中最重要的是第3项PEAR套件的安装路径,预设是在:
 
这个路径很重要,因为将来我们安装后要修改php.ini档时会用到。您可以自订安装路径,但笔者建议按下Enter,使用预设值就可以了。
 
 
画面会提示安装者,有些基本套件会与PHP捆在一起,包括:DB、Net_Socket、Net_ SMTP、Mail、XML_Parser、PHPUnit等。请问安装者是确定安装? 请按Enter键安装。
 
 

接著画面就会出现下载套件与安装套件的过程,如下图,当最后出现:
 
 
这段文字,就代表基本套件安装成功了,另外,PEAR的套件管理指令也安装好了,就放在/usr/bin/pear中。
 
 

若安装过程中,因为网路的速度不夠快导致安装失败,请再重复上述的安装步骤。
最后,不要忘了,到/ect/php.ini中将inculde_path设定为“.:/usr/share/pear”,请注意,路径前面需有一个点号与冒号。
另外,我还建议,顺便将php.ini档中的allow_call_time_pass_reference设定项的值改为On,这可以解決套件中变数传递的问题。

修改完php.ini后,需要重新啟动Apache,不然新的设定无法啟用。修改了这个设定后,当在网页中引用套件时,就不会发生找不到档案的错误了

使用PEAR指令来管理套件
在linux系统中安装PEAR基本套件时,其实已经「顺便」将PEAR的指令档安装在系统中了,比起Windows还需要设定,这一点实在是方便许多。

您可以在shell的提示符号后输入pear指令,按Enter后将会出现所有PEAR套件相关指令的名称与說明,如下图:
 
 
注意:使用PEAR指令请用小写英文。

若无法出现上述画面,请依照先前的方法,重新安装一次PEAR基本套件吧!
在Linux中,指令的使用方法与Windows的指令使用方法是相同,请参閱上面的<用指令安装PEAR套件)、 (用指令移除PEAR套件)、(用指令升级PEAR套件)等3个单元,我在这里不再重复讲指令的用法。
使用Web介面来管理套件
若您不喜欢用指令来管理套件,除了指令外,PEAR也提供了使用浏览器来管理套件的工具。安装方法有以下4个步骤:
1.先用指令安装4个PEAR套件,依序是先装Net_UserAgent_Detect、再装
Pager、HTML_Template_IT、PEAR_Frontend_Web套件,因为相依性的关系,安装顺序请勿随意更改,指令如下,指令前的#代表Shell的提示符号:
 
 
2.请到旧系统內的/usr/local/lib/php/PEAR路径下,或新系统內的/ust/local/share/php/PEAR路径下,寻找WebInstaller.php档,将它拷贝到系统的网页根目錄中,如下例:
 
 
3. 另外,为了给予这个网页在执行时可以有写入的权限,还要修改webInstaller.php档和套件与指令所在的两个目錄的拥有者与群组,将他们都改为网页服务器程式的执行者与群组。
在linux系统里,网页服务器的执行者可能名为nobody,需要用以下的指令修改拥有者与群组。
 
 
4. 最后,打开浏览器,在网址列输入
 
 

即可看见以下画面:
 
 
 
该画面中,左侧为导览列,提供了
● 套件管理(Package Management)
● 套件搜寻(Package Search)
● PEAR属性设定(Configuration)
● 登入PEAR官方网站Login)
● 登出PEAR官方网站(Logout)
等功能,其中最重要的是套件管理功能,该功能又可分为显示已安装套件、显示未安装套件、显示可升级的套件、以及显示所有套件,上图即为显示所有套件的画面。
不管哪一种画面,都会显示套件类别与套件名称,还有套件功能的简单描述,而Local代表「本机安装的套件编号」,Latest代表「目前最新的套件编号」,若Local小於Latest,可以直接由管理页面升级套件。

套件后面若有一个╋表示这个套件尚未安装,若想安装只要点一下╋就可以了。
若出现相依性问题导致安装失败,会跳出警告视窗說明失败原因与相依套件的名称,使用者若遇此情況请先安装完相依套件后,再安装使用者需要的套件就可以了。
什么称为「相依性」? 简单的說,就是有些套件需要先安装其他套件才可使用,安装失败的警告视窗会显示需安装哪些相依套件,真是蛮人性化的。
若想栘除某一套件,只需点一下套件后的回收筒图型就可以了。
若想知道某一套件的相关资讯,只需点选圆形的¡。图案,就会跳出该套件的讯息视窗,內容有相依套件的介绍、套件的作者名称、套件的编号等。
使用Web管理介面真的是十分方便,最大的好处是可帮助一些有「指令恐惧症」的电脑使用者。但我还是建议使用速度较快,安全性较高的」「套件指令管理」。
 
3-4 完全手动安装套件
除了基本套件以外,其他的套件都需要使用PEAR的指令或Web介面来安装、移除、升级。但是,若您对PEAR团队帮所有PEAR的使用者準备的管理指令与Web管理不喜欢,也不想用,那就只剩下一个选择了,就是使用完全手动的套件安装方法。
请先到PEAR官方网站,选择好要使用的套件,假设我们想要使用Benchmark套件,这个套件並不是基本套件,所以必须自己下载来安装。Benchmark套件在PEAR官方网站的画面如下图:
 
 
 
点选画面中的版本编号1.2.6就可以下载最新的Benchmark套件。下载后,将套件解压缩,就可以看到程式库的档案了,我们进入解压后的Benchmark-1.2.6资料夹,会出现如下画面:
 
 
其中的package.xml先前我已经有介绍过了,重要的是Benchmark-1.2.6这个资料夹,里面是放著Benchmark程式库的PHP档,进入Benchmark-1.2.6资料夹后出现如下画面:
 
 
我曾经在上一章的范例中引用Timer.php档,这个档包含了Benchmark_timer类别。其他的PHP档是Timer.php档需要的其他档案。Docs资料夹主要放著这个套件的一些范例或使用指南。
将package.xml档旁的资料夹Benchmark-1.2.6改名为Benchmark並放入系统中,假设我将Benchmark资料夹放在/usr/local中。最后,不要忘了修改php.ini的include_path设定,在最后面要加上“:/usr/local”,还有以后所有的套件都要放在这个路径下。 OK! 大功告成了。我们若果要在网页中引用Benchmark的程式库,只要在纲页上方加上:
 
 
将来若要刪除这个程式库,也只要到/usr/local中将Benchmark资料夹刪除就可以了。
以上就是全手动的套件安装法,优点是安装者会十分清楚套件的架构以及放置的位置,还有就是这种手动的安装法适用於各种作业系统,缺点当然是必需花费许多的时间来做套件的管理。
我认为学习手动的安装法只是为了了解套件是如何被引用的,以及如何寻找套件內原始档的位置。套件的管理还足使用PEAR的套件管理指令是比较好的方式.可让开发者不必为套件的管理问题来伤脑筋。
阅读(845) | 评论(0) | 转发(0) |
0

上一篇:各种排序算法介绍

下一篇:Php资料集

给主人留下些什么吧!~~