爱好PHP者必喜欢PEAR
PHP爱好者必喜欢PEAR,我们的目的就是希望将PEAR介绍给PHP的程式开发人员,我个人认为引用程式库的程式开发方式已经渐渐成为趋势了,除了php、JSP外,像perl、C◆◆也都有专属的程式库供其开发人员引用.
我们是从最基本的观念介绍起,包括PEAR这个专有名词的含意? 在那地方取得PEAR套件(package)? 如何使用PEAR套件等?
在第五章我们将介绍几个用法简单又功能_大的程式库套件的范例,让大家可以在动态网页上快速建立一些您以前无法想像而又非常酷的功能,让您的程式开发功力立刻提高.例如:
◆ 让网页可以提供天气预报的功能,增加网页的附加价值.
◆ 用很简单的方法在服务器上建立网页的快取(Cache),加快网页的开_速度.
◆ 在动态网页上搜寻某台主机有提供那些PORT号的服务.
◆ 在动态网页上查询某个网域名称(DNS),找出相对应的IP.
◆ 动态_生HTML表格.
◆ 快速建立「客_回函」系统,让网页浏览者可以从网页上寄信给网站管理员.
◆ 让网页可以记_网页浏览者的行为,也就是做Log.
WampServer = Apache ◆ MySQL ◆ PHP
安装Wamp Server
按装程式 - 使用者帐户控制
第二步:下一个对话框列出将要安装的Apache、MySQL、PHP、PHPMyAdmin、SQLBuddy、和XDebug 的版本,直接点选「Next」即可.
按装程式 - 说明
第三步:这是确认版权和使用执照,请点选「I accept the agreement」,然后按「Next」.
安装程式 - 版权确认
第四步:接着是选择安装路径,如果没有特别需求的话直接点选「Next」.
安装程式 - 安装路径
第五步:决定是否在「快速启动工具列」和「桌面」安装WampServer 的小图示,选择后按「Next」.
安装程式 - 额外图示
第六步:这里重复显示按装选项,若果要改变主意可以按「Back」,确定的话按「Install」开始安装.
WampServer 安装程式 - 确认选项
第七步:安装的过程大概一至两分钟.
WampServer 安装程式 - 正在安装
第八步:WampServer 询问什么是你的预设浏览器,它会自动以IE 为预设浏览器,倘若你使用Firefox 或者Chrome 等,请把程式的位置告诉WampServer,完成后按「Open」.
WampServer 安装程式 - 预设浏览器
第九步:这时WampServer 会尝试启动Apache 网站伺服器,Windows 的防火墙可能会拦截伺服器的网络通讯,这时你便要授权Apache 伺服器,在下面的对话框中,建议点选第一个选项「 Private networks, such as my home or work ntetwork」,然后按「Allow access」.
WampServer 安装程式 - 防火墙设定
WampServer 安装程式 - PHP Mail 设定
第十一步:到这一步WampServer 已经安装完成,你可以选择是否立即启动WampServer 的管理程式,预设是启动的,我建议你现在便启动它进行测试. 按「Finish」结束安装.
WampServer 安装程式 - 完成
组态设定
WampServer 的安装程式自动替我们设定系统参数,已经足以使Apache、MySQL、和PHP 紧密地融洽地合作,让你开始着手编写应用程式,以下介绍一些可能需要修改的部分,以配合你的工作习惯和系统配置. 需要注意的是修改完毕后,必须重新启动Apache 伺服器才能使新的参数生效.
安装完WampServer 后,WampServer 管理程式会自动启动,没有的话,可自行启动桌面或快捷列的紫红色「W」图示,Windows 可能会弹出「使用者帐户控制」对话框,要求你授权让管理程式修改Windows 的设定,请按「Yes」继续. 启动后管理程式会自动启动Apache 和MySQL 伺服器,并且在Windows 的工作列显示绿色的「W」图示,表示所有伺服器系统已经成功启动.
启动 WampServer 管理程式 - 使用者帐户控制
设定localhost 的IP 地址
设定 hosts
更改网站主目录路径
重新启动 Apache
测试伺服器
在WampServer 的选单点选「localhost」,浏览器会开启网址,若果这时候Apache 伺服器没有启动的话便会出现错误讯息.
开启 localhost
开启Apache 伺服器后便会见到预设的主页,成功的话表示你的Apache 伺服器和PHP 已经正常运作.
WampServer 测试 - 主页
点选一下phpmyadmin 连结进入PhpMyAdmin,成功的话表示MySQL 数据库伺服器正常运作.
在第五章我们将介绍几个用法简单又功能强大的程式库套件的范例,让大家可以在动态网页上快速建立一些您以前无法想像而又非常酷的功能,让您的程式开发功力立刻提高.例如:
◆ 用很简单的方法在服务器上建立网页的快取(Cache),加快网页的开启速度.
◆ 动态产生HTML表格.
◆ 快速建立「客户回函」系统,让网页浏览者可以从网页上寄信给网站管理员.
◆ 让网页可以记录网页浏览者的行为,也就是做Log.
这些套件(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,什麼是Apache、Mysql,或者您虽然知道,却还不会PHP的基本语法,那麼,本文章目前并不适合您.建议您快去买些PHP、Apach、Mysql的入门书籍,详加研读后,才来看本文章.
大家并不一定要是PHP高手,但一定需要具备看懂基本PHP程序码的能力.无论如何,首先对PHP的热爱才是阅读本书最基本的先决条件.
第二章
什么是PHP的物件导向? 物件导向的语法在传统的PHP程式中较少看到,但若您了解JAVA这种程式语言的话,您应该可以知道什麼足物件导向,我会在附录B有针对物件导向做简单的说明.
另外,我要强调的是:PHP除了基本语法外,内建的函式就有超过上千个,横跨上百种类别,包括文字类函式、数字类函式、资料库类、图形类等等,功能相当强大,令人吒舌.但相对於程式开发者,如何善用这些函式,配合PHP的语法撰写有效又好管理的程式码,将会是一大挑战.
在今天,有PEAR这个由全世界众多顶尖的PHP高手所共同生产的智慧结晶,可以让我们轻松又有效率地撰写程式码,并克服许多撰写上的困难.以武侠界的例子来说,用PEAR撰写PHP就宛如数百位武林高手灌注他们的功力给程式开发者.让程式开发者不用从最基本的练功,扎马步练起,借用他们的功力就可以很轻松的让功力倍增,效率倍增.
说了半天,到底什麼是PEAR?下一个单元笔者就来做个介绍.
PEAR这个字单纯就字面上而言意思是「梨子」.
一颗梨子.网站的网址为
PEAR网站的logo中可以看到例子.
这个专案名称就是PEAR,其实是PHP Extension and Application Repository的缩写,意即「PHP的延续与应用程式库」,简单的说,PEAR其实是一个PHP的程式库.
Bakken先生建立的程式码基础如下,我只概略说明一下,并不详谈细节的部分:
◆ 如果开发者要提供PHP程式库,程式的结构必须物件化.
◆ 程式的缩排要遵循一定的格式
◆ 程式中类别的命名也要遵循一定的格式
◆ 程式码的注解要有一定的格式
◆ 档案命名要有一定的格式
◆ 程式库撰写完成后要包装成套件,而套件的包装与安装方式,也有一定的格式.
有些人可能会很好奇,为什麼有人会愿意免费撰写程式库让别人来使用呀? 这就是开放原码世界的精神一互助、共享.试想,若每个开发者针对自己专精的部分开发程式库给其他人使用,同时也享用别的开发者所释出的程式库,是不是可以达到互助的目的,让每一个开发者共享所有的开发者的成果.不必所有的程式码都要自己撰写.
更棒的是,这些程式库是免费开放给全世界的人使用的,不只参与程式库开发的开发者可以享用(这种作法与Java或perl提供函式库的作法是一样的).
所以呢,全世界所有的PHP开发者可以省去许多撰写程式码的时间,又因为使用程式库的开发者可以回报程式库的缺失给原开发者,原开发者也所以呢会不断的修正这些程式库,所以程式码相对安全.另外,程式库开发者也会随着时代演进,加入新的功能到程式库中,让程式库的使用者可以与时俱进.
详细情况可参阅PEAR的网站中所提到关於开发PEAR的目的说明:.我建议您有时间慢慢地看吧,继续将本文章看下去,您就会慢慢了解PEAR的神奇之处了.
我在文章的最后有一章附录:PEAR网站的介绍,大家可以先参考一下.
如果您还不太了解我介绍所谓「程式库」的意思,没关系,下一节就会透过实际的例子加以说明.
▓ 程式库VS套件
介绍所有套件之前,我们必须釐清两个名词,以免读者混淆了,一个就是「程式库」,另外一个就是「套件」.
▓ 套件与分类
PEAR因为释出的套件太多了,为了管理上的方便所以依套件的功能将套件做分类,同一类的套件在效果上都有相关性,但提供的功能却不尽相同小此时此刻呢,我将所有的分类用表格的方式做一个简单的介绍,让大家多了解一下PEAR套件可以提供哪些功能.
我再补充一点:有些套件已发展成熟,开发者会将它称为稳定(stable)版,但若程式库尚在发展中,但也已经可以使用,开发者将它释出,通常会称为测试版(alpha or beta)版.网站也会记录套件的开发者与维护者的姓名,有时候一个套件是由许多人共同开发而成的.
这些套件的讯息都可在PEAR的网站中找到,我在附录〈PEAR网站的介绍〉会介绍如何使用PEAR网站.
在这一节中,我用l个简单的范例来说明程式库的使用.
假设您想要制作一个网页,并且希望知道网页执行时所耗用的时间,则可以借用PEAR所释出的名为Benchmark的程式库.这个程式库开发出来的目的就是用来计算网页的执行时间.
首先,先将Benchmark程式库套件安装好(安装方法请参考下一章).接著我们就可以开始撰写网页了,例如:我们建立了一个名为show.php的网页.
基於说明上的方便,我在每一行程式前面加上行号,大家实际上撰写程式时是不用加上行号的.
最后用echo函式显示时间差在网页上.
如果您需要在其他网页上也可以有计算网页的执行时间的功能,只要用上述方式套用在其他PHP网页上就可以了.
事实上,其他套件的使用方式也跟这个套件的使用方式大同小异.差别只是在每个套件所提供的类别、方法以及使用的参数各有不同而已.
套件虽然好用,但相信读者还是有许多的疑惑? 例如:
① Benchmark程式库套件是怎麼来的?要有哪些前置工作才可以使用它?
为何要使用PEAR? 我根据自己的心得,归纳出以下几点:
① 省时省力:许多程式码都被撰写在程式库中,开发者只需引用含程式库的PHP档,就可以拥有程式库所提供的功能,省去自行撰写的时间与精力.
是什麼原因促使全世界的PHP开发者大团结,共同开发出PEAR这个程式宝库呢? 我就认为有以下几个原因:
①遭受其他竞争者的强大竞争:这一点第1章已经说明过了.
PHP与他们的竞争对手相比,他具有以下优势:
高效能:不是我黄婆卖瓜,哈哈..., 我阅览过许多Asp.NET与Jsp的网页,效能上实在无法与PHP相比.(Asp.NET与Jsp的使用者应该不会看这篇文章吧).
● 可以与许多不同的资料库系统相连结:其他的竞争者也可以,但没有PHP快.
● 易学易用:PHP的程式码的写法非常直觉,容易学习.
● 低成本:根本不用钱.
● 内建非常多的函式库:记得笔者以前使用Asp,内建的函式库实在少的可怜.
● 开放原始码:安全性会比没有开放的高.
● PEAR程式库:这是最近的强力武器,用来与强敌们一争长短.
● 可携性:无论是各类Unix作业系统,如:Linux,FreeBSD,商业版Unix或Windows作业系统都可以使用PHP.
Asp.NET与Jsp当然也有他们独特的优点? 例如,Jsp夹带JAVA强大的功能,它就可以呈现一些目前PHP无法做到的效果.所以Jsp也吸引了许多的使用者,但笔者对Jsp目前的效能实在还不甚满意,相反地,对PHP的快速度满意的不得了.
使用哪一种程式,就由您自行做明确的抉择,不过,若您选择观看文章,相信我们应该都是同道中人,PHP的爱好者.
都说到这里了大家应该明白,许多PHP高手共同构筑了一个强大的支援网,若您是PHP的程式开发者,却对这些高手的好意毫不领情,那不是太可惜了吗?
输出结果为:1
作为对比,你可以参看以下代码:
php
$a=1;
$a=◆◆$a;
echo $a;