| A PEAR-ről (Previous) | (Next) Telepítés | ||||
| |
|||||
|
|||||
PEAR, dedikálva Malin Bakken-nek, született 1999. november 21-én.
A PEAR a "PHP Extension and Application Repository" rövidítése, kiejtése megegyezik az angol "körte" szóval (pear, píör). A PEAR céljai:
Nyílt forráskódú programrészletek, programok struktúrált könyvtára a PHP felhasználói számára
Kódmegosztási és csomagkarbantartási rendszer
Szaványos kódolási stílus PHP nyelven írt kódokhoz, lásd itt
The PHP Foundation Classes (PFC), lásd lejjebb
The PHP Extension Community Library (PECL), lásd lejjebb
Egy weboldal, levelezőlisták és letöltési tükrök a PHP/PEAR közösség támogatásához
A PEAR egy közösség által működtetett projekt, vezetősége a PEAR csoport (PEAR Group). A projektet Stig S. Bakken 1999-ben alapította, azóta rengetegen csatlakoztak hozzá.
A PEAR-ban lévő kód csomagokra van bontva. Minden csomag egy különálló projekt a saját fejlesztőcsapatával, verziószámával, dokumentációjával és kapcsolataival a többi csomaghoz (beleértve a függőségeket). A csomagok gzip-elt tar fájlokként kerülnek terjesztésre egy-egy leírófájllal együtt, és a PEAR telepítő (installer) segítségével kerülnek telepítésre egy rendszerre.
A csomagoknak két típusa van: forráscsomagok (csak forrásnyelvi fájlokat tartalmaznak), és bináris csomagok (platform-specifikus bináris fájlokat tartalmaznak, és tartalmazhatnak forrásnyelvi fájlokat is). C nyelvi forráscsomagok telepítése magától értetődően C build környezetet igényel.
A PEAR egy csomag-fát határoz meg, ahol minden egyes csomópont egy csomag nevének egy-egy része. A csomópontoknak egyszerű, értelemszerű nevük van. A csomagok nevében az egyes részeket hangosközzel (underscore, "_") választjuk el egymástól. Csomagnevek például az "MP3_Id", "Archive_Tar" és a "HTTP_Post".
A csomagok explicit függőségeken keresztül kapcsolatban állhatnak egymással, ugyanakkor egy csomag és a fában lévő szülője között nincs kötelezően kapcsolat (például a "HTTP_Post" nem függ a "HTTP" csomagtól).
A fában néhány felsőszintű csomópontot alraktárnak (sub-repository) nevezünk, mivel speciális funkciók vannak. Ezek jelenleg a PECL, a Gtk és az App. Mindegyikükre különböző szabályok érvényesek, bővebben lásd az egyes alraktárak leírásánál, lejjebb.
A PEAR Coding Standards (rövidítve PCS), egy kódolási szabvány (stíluskalauz), amely a PEAR fejlesztők közötti együttműködést hivatott megkönnyíteni. Célja a minőség és a hordozhatóság elősegítése, és a PEAR közreműködőknek segítségnyújtás konzisztens API-k fejlesztéséhez. A PFC-ben lévő csomagokra szigorúan érvényes, a nem-PFC csomagok kevésbé veszik szigorúan.
Minden PEAR csomag regisztrálva van és fel van töltve a központi adatbázisba, amely a pear.php.net címen érhető el. Nyílt forrású, harmadik fél által készített (third-party) csomagok is regisztrálásra kerülhetnek, és feltölthetők. Zárt forrású csomagok is telepíthetők a PEAR telepítő segítségével, de a PEAR adatbázis csak nyílt forrású programoknak ad helyet.
A pear.php.net mind felhasználóbarát (HTML), mind "gép-barát" (jelenleg XML-RPC) interfészt nyújt a PEAR adatbázishoz. A csomagok letöltése egyszerű HTTP protokollon keresztül történik. A pear.php.net site által nyújtott további funkciók:
felhasználó account menedzsment (integrálva a CVS szerverrel)
csomag menedzsment
release menedzsment
A csomagokat gzipelt tar fájlokban terjesztik egy-egy leíró fájllal (XML) együtt. A leíró fájl információkat tartalmaz magáról a csomagról, tartalmaz továbbá egy fájllistát a benne lévő fájlok szerepével, valamint egy leírást a függőségekről.
A PHP Foundation Classes a PEAR egy részhalmaza; minőségre, általánosításra, interoperabilitásra (együttműködés) és kompatibilitásra fókuszál. Ha a PHP továbbra is folytatja a PEAR csomagok szállítását a saját telepítőkészletén belül, akkor a PFC-t fogja szállítani.
A fókusz a minőségen azt jelenti, hogy stabilnál (stable) alacsonyabb állapotban lévő csomagok (releasek) nem lehetnek a PFC-ben.
Az általánosítás jelentése: a csomagok az indokoltnál jobban ne legyenek specifikusak semmilyen környezethez sem (pl. a HTML kimeneti formátumhoz, egy operációs rendszerhez, egy webszerverhez vagy egy SAPI-backend-hez stb).
Az együttműködésre kiélezett (interoperable) csomagok helyesen együttműködnek más csomagokkal, stabil, szabványosított API-juk van, előnyben részesítenek más, jól megírt (és interoperábilis) komponenseket, valamint jól működnek különböző környezetekben (PHP verziók, SAPI backend, operációs rendszerek stb.)
A kompatibilitás a korábbi verzióktól eltérően nem csak a megegyező szintaxis támogatásáról és a szemantikáról szól, hanem az előre tervezésről is. Az így tervezett kódot egyszerű lenne (vagy legalábbis lehetséges) továbbfejleszteni olyan igényekkel, melyek valószínűleg később jelentkezhetnek majd (előre-kompatibilis kód).
PECL (ejtve "piköl") a PEAR al-raktára C-bővítményeknek, melyek a PHP 4-el kerültek terjesztésre. A PECL létrehozásának egyik motivációja az volt, hogy a PHP-ből át kellett valahová helyezni a bővítményeket (extensions). A PECL-ben lévő bővítmények a PHP kódolási szabványát követik a PEAR szabványok helyett, de PEAR csomagokként kerülnek szállításra és telepítésre.
A PHP-ből PECL-be történő bővítmény-áthelyezést nevezzük "pickling"-nek.
2003 októberében a PECL egy független projektté vált, ami nem tartozik többé a PEAR-hez (kivéve az infrastruktúra, amit a PECL a PEAR-től kölcsönöz). További információk, valamint az összes PECL csomag megtalálhatók a PECL honlapján. A PECL kiválása során a projekt átnevezésre került "PHP Extension Code Library"-ről "PHP Extension Community Library"-re.
A Gtk csomagok a PHP-GTK projekt technológiájára épülő csomagok. A PHP-GTK alraktárban lévő kód a PEAR kódolási szabványokat követi.
Jelenleg nincs végleges terv arról, hogy hogyan jelennek majd meg a Gtk csomagok a PEAR-ban.
| A PEAR-ről (Previous) | (Next) Telepítés | ||||||||
| |
|||||||||
|
|||||||||