进入 PHPChina 首页
当前位置:PHPChina 开源社区门户 - PHP编程技巧 - 正文
[字号:  ]

PEAR版本号说明

发布时间:2006-9-22 16:46   作者: EastSon   信息来源: 本站原创  [我来说两句(1198条)]
原文:PHP5 Power Programming Chapter 10 . Using PEAR
    PEARPHP的官方开源类库, PHP Extension and Application Repository 的缩写。Pear在英文中是梨子的意思。PEAR将PHP程序开发过程中常用的功能编写成类库,涵盖页面呈面、数据库访问、文件操作、数据结构、缓存操 作、网络协议等许多方面,用户可以很方便地使用。PEAR的大部分Package采用LGPL、PHP、BSD许可证,可以自由地使用源码。关于PEAR 更详细的信息,请访问pear.php.net
不要重复发明轮子!”PEAR是为PHP代码的重用而开发的。使用PEAR可以大大提高PHP程序的开发效率。前人已经完成的工作,我们可以直接使用,不需要重复开发,更可以保证开发代码的质量。
PEAR概念
   首先介绍一个PPEAR的一些概念,即packages , releasesversioning scheme

Packages
  当你从PEAR安装一些东西,就得去下载和安装一些特殊的  发行包。每一包都包含下面的信息:
包名称  例如:HTML_QuickForm
        概要,描述,和主页的URL
         一个或多个的维护人员
         License信息
         许多发行版本
    Pear包和其它包(如:LinuxRPM ,Debian包,System V UNIX PKG格式)是不一样的。一个最主要的区别是PEAR包是基于多个平台设计的,不是为了一种操作系统设计的,大部分PEAR包是平台无关性的,PEAR包可以安装在支持PHP的任何平台上,包括现在流行的类UNIX系统和微软的Windows,以及苹果的MacOS X.


Releases
    像PHP一样,PEAR的代码连同安装指令一起压缩到一个tar.gz或者zip文件中。PEAR包也同样是通过tar.gz(tgz)文件来发布的,里面包含了可以被PEAR安装程序读取的安装指令。
除了这个包的细节内容外,每一个发行包都包含:
         版本号
         文件列表和安装指令
         发行版别(stable,beta ,alpha , devel ,或者snapshot)
在安装PEAR包时,默认是安装最近稳定的发行包,例如:
$ pear install XML_Parserdownloading XML_Parser-1.1.0.tgz ...Starting to download XML_Parser-1.1.0.tgz (7,273 bytes).....done: 7,273 bytesinstall ok: XML_Parser 1.1.0
    通过执行命令:pear installXML_Parser,可以来安装最近的稳定的确良XML_Parser包,例子中的版本为 1.1。
    为什么不把PEAR包做成像RPM包一样有多种原因,最主要的原因是,PHP是可以在各个平台上运行的,所以PEAR包也得要在各个平台上运行,这就意味着要做一个RPM包在Windows下,Darwiin下都可以运,这个工作量是很大的,因此最佳的选择就是用PHP来执行安装程序来在各个平台上运行是最方便的, 也是最简单的。



Version Nubmers
Version Number Format  版本号格式
PEAR一般由三个数字和一些特殊字符组成。语法如下:
Major [ . minor [ . patch ]] [ dev | a | b | RC | pl [ N ]]

下面是一些例子:

Version String


Major Version


Minor Version


Patch Level


ReleaseState'


1


1





1b1


1




b1


1.0


1


0




1.0a1


1


0



a1


1.2.1


1


2


1



1.2.1dev


1


2


1


dev


2.0.0-dev


2


0


0


dev


1.2.1RC1


1


2


1


RC1


    大多数PEAR包的版本号是由二个或三个数字加上一些发行状态部分,例如:”b1”
    下面是一个发行状态的列表:

额外的


说明:


Dev


实验中,用于测试的发行版本


A


第一个版本,不是最终的,也许有许多BUG,并且很多API不是最终的.


B


第二个版本;API或多或少的稳定,但仍有一些BUG。.


RC


Release candidate;如果这个发行版没有问题,那么RC版将会再发行,成为最终的版本。


Pl


Patch level;在发行版本后做的一些修改,但不是经常的。



Comparing Version Numbers
    有时候要对二个PEAR发行包进行比较以确定哪一个包比较新。例如,运行pear list-upgrades命令时,你安装的包的版本号将与pear.php.net上面的最新包的版本号进行比较,来确定哪一个是新的。

    这个比较过程,首先是从major版本开始的,如果Amajor版本号大于B,那么AB新。如果major相同,那么minor版号将用同样的方法比较,但是如果只有B拥有minor版本号,那么B将比A新。如果ABminor版本号也相同,patch level将用同样的方法比较,如果patch level也相同,那么发行状态将决定结果。

    比较extra段是很麻烦的事情,如果A没有extra段,而B有,不能自动的认为B是新的。dev , a ,b , RC,被认为比没有extra段旧,而pl (patch level )被认为是新的。

下面是一版本比较例子:

Version A


Version B


Newest?


Reason?


1.0


1.1


B


B有比较大的minor版本号


2.0


1.1


A


A有比较大的major版本号.


2.0.1


2.0


A


A有 patch level; B 没有.


2.0b1


2.0


B


A "beta"发行状态 "老于" 没有发行状态.


2.0RC1


2.0b1


A


RC比beta新在major.minor相同时.


1.0


1.0.0


B


这个很微妙,加了一个位让版本更新


TAG: PHP pear

字号:   | 推荐给好友

[我来说两句(1198条)]
现在有0人对本文发表评论 查看全部评论>>评论区

 

评分:0

验证码: seccode