PEAR版本號說明

日期:2006-09-23  作者:喜騰小二  來源:PHPChina


原文:PHP5
Power Programming Chapter 10 . Using PEAR

    PEAR 是PHP的官方開源類庫,
PHP Extension and Application Repository
的縮寫。Pear在英文中是梨子的意思。PEAR將PHP程序開發過程中常用的功能編寫成類庫,涵蓋页面呈麵、數據庫訪問、文件操作、數據結構、緩存操
作、網絡協議等許多方麵,用戶可以很方便地使用。PEAR的大部分Package采用LGPL、PHP、BSD許可證,可以自由地使用源碼。關於PEAR
更詳細的信息,請訪問pear.php.net

不要重復發明輪子!”PEAR是為PHP代碼的重用而開發的。使用PEAR可以大大提高PHP程序的開發效率。前人已經完成的工作,我們可以直接使用,不需要重復開發,更可以保證開發代碼的質量。
PEAR概念
    首先介紹一個PPEAR的一些概念,即 packages , releases versioning 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_Parser
downloading
XML_Parser-1.1.0.tgz ...
Starting to download XML_Parser-1.1.0.tgz (7,273
bytes)
.....done: 7,273
bytes
install ok:
XML_Parser 1.1.0
    通過執行命令:pear install
XML_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


Release State'


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


這個很微妙,加了一個位讓版本更新


<<<返回技術中心

技術文章

站內新聞

我要啦免费统计