PHAR (format pliku)

Archiwum PHP
Rozszerzenie nazwy pliku
.far
Opracowany przez PHP , Davey Shafik, Greg Beaver, Marcus Börger
Typ formatu Archiwum plików , kompresja danych
Przedłużony od ZIP , tar

W oprogramowaniu plik PHAR ( PH P Archiwum ) jest formatem pakietu umożliwiającym dystrybucję aplikacji i bibliotek poprzez łączenie wielu plików kodu PHP i innych zasobów (np. obrazów , arkuszy stylów itp.) w jeden plik archiwum.

Pliki PHAR mogą być w jednym z trzech formatów: tar i ZIP , które są kompatybilne z ich odpowiednimi narzędziami, oraz w niestandardowym formacie PHAR. Niezależnie od używanego formatu, wszystkie pliki PHAR używają rozszerzenia .phar . Archiwa w formacie Tar i Zip mogą być tworzone i rozpakowywane przy użyciu standardowych narzędzi tar i zip, podczas gdy format PHAR wymaga niestandardowego kodu PHP przy użyciu rozszerzenia PHAR dla PHP lub pakietu PEAR PHP_Archive .

Historia

formatu plików JAR języka Java w celu przyspieszenia wdrażania aplikacji przez FTP. Zamiast używać formatu pliku ZIP, zastosowano prostszy format tar, a pierwszy PHAR został utworzony przy użyciu narzędzia wiersza poleceń tar jako dowodu słuszności koncepcji. 14 czerwca 2004 r. wstępny pakiet PHP_Archive został przedstawiony PEAR, a 13 grudnia 2004 r. został jednogłośnie przyjęty.

Rozszerzenie PHAR

W 2007 roku PHP_Archive zostało przeniesione do C i wydane jako rozszerzenie PECL . Rozszerzenie zostało dołączone i włączone domyślnie w PHP 5.3.0.

Projekt

Plik PHAR pozwala na archiwum w formacie Tar, Zip lub PHAR. Niezależnie od formatu, każde archiwum zawiera trzy sekcje:

  1. Stub — Plik PHP, który uruchomi archiwum. Kod pośredniczący musi zawierać __HALT_COMPILER(); token, a domyślny kod pośredniczący obejmuje możliwość uruchomienia PHAR z włączonym rozszerzeniem PHP lub bez niego
  2. Manifest — Manifest szczegółowo opisuje zawartość archiwum
  3. Zawartość pliku — Oryginalne pliki zawarte w archiwum

Dodatkowo format PHAR może również zawierać podpis do weryfikacji integralności PHAR.

Oczywisty

Manifest zawiera metadane dotyczące archiwum i jego zawartości. Format binarny ma być wydajny do analizowania zarówno w PHP, jak i C. Składa się z segmentów o stałej długości, oprócz par specyfikacji długości, po których następują segmenty o zmiennej długości. Każdy plik ma swój własny manifest w segmencie manifestu globalnego. Obecny format to wersja 1.1.1.

Kompresja

Wszystkie trzy formaty obsługują kompresję, jednak tylko format PHAR obsługuje zarówno kompresję poszczególnych plików, jak i całych archiwów. Formaty Zip i Tar obsługują odpowiednio tylko kompresję poszczególnych plików i całych plików.

Wykonywanie plików PHAR

Zakładając, że rozszerzenie PHAR jest włączone, wszystkie pliki PHAR mogą być uruchamiane po prostu przez wykonanie ich za pomocą interpretera PHP (" php file.phar "). Jeśli rozszerzenie PHAR nie jest włączone, można wykonać tylko format PHAR.

Dodatkowo możliwe jest oznaczenie pliku PHAR jako wykonywalnego oraz dodanie odpowiedniego shebang , aby plik PHAR był bezpośrednio wykonywalny.

Stosowanie

Chociaż PHAR był pierwotnie przeznaczony do użytku w sieci, jest często używany przez narzędzia wiersza poleceń. Do popularnych aplikacji dystrybuowanych w formacie PHAR należą Composer i PHPUnit .

Linki zewnętrzne