Using Phar Archives: the Phar and PharData class
Använda Phar-arkiv: klasserna Phar och PharData
Phar-klassen stödjer läsning och manipulation av Phar-arkiv samt iteration genom ärvd funktionalitet från RecursiveDirectoryIterator-klassen. Genom stöd för ArrayAccess-gränssnittet kan filer inuti ett Phar-arkiv nås som om de vore en del av en associativ array.
PharData-klassen är en utökning av Phar och tillåter skapande och modifiering av icke-körbara (data) tar- och zip-arkiv, även om `phar.readonly=1` är satt i php.ini. Därför är metoderna PharData::setAlias() och PharData::setStub() inaktiverade eftersom alias och stub är unika för körbara Phar-arkiv.
Viktigt att notera
När du skapar ett Phar-arkiv bör du använda en absolut sökväg i Phar-konstruktorn. Relativa sökvägar kommer inte att fungera.
Anta att variabeln $p är ett Phar-objekt som initialiseras enligt följande:
<?php $p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar'); ?>
Ett tomt Phar-arkiv kommer att skapas på `/path/to/myphar.phar`, eller om filen redan finns kommer den att öppnas igen. Aliaset myphar.phar kan användas för att referera till `/path/to/myphar.phar` i URL:er, som i följande exempel:
<?php // Dessa två anrop till file_get_contents() är likvärdiga om // /path/to/myphar.phar har ett alias "myphar.phar" $f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt'); $f = file_get_contents('phar://myphar.phar/whatever.txt'); ?>
Exempel på användning av det skapade Phar-objektet
- $a = $p['file.php'] skapar en PharFileInfo-klass som refererar till innehållet i `phar://myphar.phar/file.php`.
- $p['file.php'] = $v skapar en ny fil (eller skriver över en befintlig fil) i `myphar.phar`. Variabeln $v kan vara en sträng eller en öppen filpekare.
- Exempel: $p->addFromString('file.php', $v) är funktionellt likvärdigt med ovanstående. - Det är också möjligt att lägga till innehållet i en fil med $p->addFile('/path/to/file.php', 'file.php'). - Skapa en tom katalog med $p->addEmptyDir('empty').
- isset($p['file.php']) kan användas för att kontrollera om filen finns i `myphar.phar`.
- unset($p['file.php']) tar bort filen från arkivet.
Hantering av metadata och PHP-laddningsstub
Phar-objektet är det enda sättet att komma åt Phar-specifik metadata via Phar::getMetadata(), samt att sätta eller hämta PHP-laddningsstubbar genom Phar::getStub() och Phar::setStub(). Dessutom kan komprimering för hela Phar-arkivet bara hanteras med hjälp av Phar-klassen.
PharFileInfo-klassen
PharFileInfo är en utökning av SplFileInfo-klassen och erbjuder flera metoder för att hantera Phar-specifika detaljer, såsom komprimering och metadata.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/phar.using.object.php
PHP
Funktioner
Funktionsreferens
Komprimerings- och arkivtillägg
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webbhotell.