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


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


<<<返回技術中心

技術文章

站內新聞

我要啦免费统计