PHAR (filformat)

PHP-arkiv
Filnamnstillägg
.phar
Utvecklad av PHP , Davey Shafik, Greg Beaver, Marcus Börger
Typ av format Filarkiv , datakomprimering
Förlängt från ZIP , tjära

I programvara är en PHAR- fil ( PH P Archive ) ett paketformat för att möjliggöra distribution av applikationer och bibliotek genom att bunta ihop många PHP- kodfiler och andra resurser (t.ex. bilder , stilmallar , etc.) till en enda arkivfil.

PHAR-filer kan vara i ett av tre format: tar och ZIP , som är kompatibla med sina respektive verktyg, och ett anpassat PHAR-format. Oavsett vilket format som används använder alla PHAR-filer filtillägget .phar . Tar- och zip-formatarkiv kan skapas och packas upp med vanliga tar- och zip-verktyg, medan PHAR-formatet kräver anpassad PHP-kod med PHAR-tillägget för PHP eller PEAR PHP_Archive-paketet .

Historia

PHAR-filer skapades 2004 och påverkades av Javas JAR-filformat med syftet att påskynda distributionen av applikationer via FTP. Istället för att använda ZIP-filformatet användes det enklare tar-formatet, och den första PHAR skapades med hjälp av kommandoradsverktyget tar som ett bevis på konceptet. Den 14 juni 2004 föreslogs det ursprungliga PHP_Archive-paketet till PEAR och den 13 december 2004 godkändes det enhälligt.

PHAR-förlängning

2007 portades PHP_Archive till C och släpptes som en PECL -tillägg. Tillägget inkluderades och aktiverades som standard i PHP 5.3.0.

Design

En PHAR-fil tillåter ett Tar-, Zip- eller PHAR-formaterat arkiv. Oavsett format innehåller varje arkiv tre sektioner:

  1. Stub — En PHP-fil som kommer att starta upp arkivet. Stubben måste innehålla __HALT_COMPILER(); token, och standardstubben inkluderar möjligheten att köra en PHAR med eller utan PHP-tillägget aktiverat
  2. Manifest — Manifestet beskriver innehållet i arkivet
  3. Filinnehåll — De ursprungliga filerna som ingår i arkivet

Dessutom kan PHAR-formatet även innehålla en signatur för att verifiera PHAR-integriteten.

Manifestera

Manifestet innehåller metadatainformation om arkivet och dess innehåll. Det binära formatet är tänkt att vara effektivt att tolka i både PHP och C. Det består av segment med fast längd, förutom par av längdspecifikationer följt av segment med variabel längd. Varje fil har sitt eget manifest inom ett segment av det globala manifestet. Det nuvarande formatet är version 1.1.1.

Kompression

Alla tre formaten har stöd för komprimering, men endast PHAR-formatet stöder både komprimering per fil och hela arkivet. Zip- och Tar-format stöder endast komprimering per fil respektive hel fil.

Kör PHAR-filer

Förutsatt att PHAR-tillägget är aktiverat kan alla PHAR-filer köras helt enkelt genom att köra dem med PHP-tolken (" php file.phar "). Om PHAR-tillägget inte är aktiverat kan endast PHAR-format köras.

Dessutom är det möjligt att markera en PHAR-fil som körbar, och att lägga till en lämplig shebang för att göra PHAR-filen körbar direkt.

Användande

Medan PHAR ursprungligen var avsedd för webbanvändning, används den ofta av kommandoradsverktyg. Populära applikationer som distribueras i PHAR-format inkluderar Composer och PHPUnit .

externa länkar