Using Phar Archives: Introduction
Använda Phar-arkiv: Introduktion
Phar-arkiv liknar Java JAR-arkiv, men är anpassade för PHP-applikationer. Ett Phar-arkiv används för att distribuera en komplett PHP-applikation eller ett bibliotek i en enda fil. En Phar-arkivapplikation används precis som vilken annan PHP-applikation som helst:
php coolapplication.phar
Att använda ett Phar-arkivbibliotek är identiskt med att använda vilket PHP-bibliotek som helst:
<?php include 'coollibrary.phar'; ?>
Phar stream wrapper tillhandahåller kärnfunktionerna för phar-tillägget och förklaras i detalj här. Stream wrappern möjliggör åtkomst till filer inom ett phar-arkiv med PHP:s standardfilfunktioner som fopen(), opendir(), med flera.
<?php include 'phar://coollibrary.phar/internal/file.php'; header('Content-type: image/jpeg'); echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg'); ?>
Phar-klassen
Phar-klassen implementerar avancerad funktionalitet för att komma åt filer och för att skapa phar-arkiv. Här är ett exempel på hur du öppnar och itererar genom filer i ett phar-arkiv:
<?php try { $phar = new Phar('coollibrary.phar'); foreach (new RecursiveIteratorIterator($phar) as $file) { echo $file->getFileName() . "\n"; echo file_get_contents($file->getPathName()) . "\n"; } if (Phar::canWrite()) { $phar = new Phar('newphar.tar.phar', 0, 'newphar.tar.phar'); $phar->convertToExecutable(Phar::TAR, Phar::GZ); $phar->startBuffering(); $phar['file1.txt'] = 'Information'; $phar->stopBuffering(); } } catch (Exception $e) { echo 'Kunde inte öppna Phar: ', $e; } ?>
Verifiering av Phar-innehåll
Phar-arkiv kan verifieras med hjälp av hash-algoritmer som MD5, SHA1, SHA256 och SHA512 samt asymmetrisk signering med OpenSSL.
<?php $public = openssl_get_publickey(file_get_contents('private.pem')); $pkey = ''; openssl_pkey_export($public, $pkey); ?>
Använda Phar som webbapplikation
Phar-tillägget erbjuder också funktioner för att paketera PHP-applikationer för webbanvändning med metoder som Phar::webPhar(), Phar::mungServer() och Phar::interceptFileFuncs().
<?php Phar::webPhar("myphar.phar", "index.php"); ?>
Med hjälp av dessa metoder kan hela PHP-applikationer köras direkt från ett phar-arkiv, vilket underlättar distribution och installation.
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/phar.using.intro.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.