Using Phar Archives: Introduction: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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: <pre>php coolapplication.phar</pre> Att använda ett Phar-arkivbibliotek är identiskt med att använda vilket PHP-bibliotek som helst: <pre> <?php include 'cool...')
 
(Ingen skillnad)

Nuvarande version från 12 november 2024 kl. 17.50

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.