日期:2006-09-23 作者:喜騰小二 來源:PHPChina
原文:PHP5 Version Major Minor Patch 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 額外的 說明: Dev 實驗中,用於測試的發行版本 A 第一個版本,不是最終的,也許有許多BUG,並且很多API不是最終的. B 第二個版本;API或多或少的穩定,但仍有一些BUG。. RC Release candidate; Pl Patch Version Version 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 這個很微妙,加了一個位讓版本更新
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包和其它包(如:Linux的RPM ,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 $ 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
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
]]
下麵是一些例子:
大多數PEAR包的版本號是由二個或三個數字加上一些發行狀態部分,例如:”b1”
String
Version
Version
Level
下麵是一個發行狀態的列表:
如果這個發行版沒有問題,那麼RC版將會再發行,成為最終的版本。
level;在發行版本後做的一些修改,但不是經常的。
Comparing Version
Numbers
有時候要對二個PEAR發行包進行比較以確定哪一個包比較新。例如,運行 pear list-upgrades
命令時,妳安裝的包的版本號將與pear.php.net上麵的最新包的版本號進行比較,來確定哪一個是新的。
這個比較過程,首先是從major 版本開始的,如果A的major版本號大於B,那麼A比B新。如果major相同,那麼minor版號將用同樣的方法比較,但是如果隻有B擁有minor版本號,那麼B將比A新。如果A與B的minor版本號也相同,patch level將用同樣的方法比較,如果patch level也相同,那麼發行狀態將決定結果。
比較extra段是很麻煩的事情,如果A沒有extra段,而B有,不能自動的認為B是新的。dev , a ,b , RC,被認為比沒有 extra段舊,而pl (patch level ) 被認為是新的。
下麵是一版本比較例子:
A
B
沒有.
沒有發行狀態.