Memory App
Programming
 





Apache/conf/httpd.conf
    AddType application/x-httpd-php .phar

Apache/bin/php.ini
    extension=php_phar.dll
    phar.readonly = Off
http://www.sitepoint.com/packaging-your-apps-with-phar/

Create and use


// directory structure

phar
    algorithms
        isEven.php
        isPrime.php
    algoritms.phar
    compress.php
    index.php
    test.php
(1/5)

index.php


<?php
    include 'phar://argorithms.phar/isEven.php';
    include 'phar://argorithms.phar/isPrime.php';
(2/5)

compress.php


<?php
    $phar = new Phar(__DIR__ . '/argorithms.phar', FilesystemIterator::CURRENT_AS_FILEINFO | 
                              FilesystemIterator::KEY_AS_FILENAME, 'argorithms.phar');
    $phar->startBuffering();
    $phar->setStub('
             <?php Phar::mapPhar(); include "phar://argorithms.phar/index.php"; __HALT_COMPILER(); ?>');
    $phar['index.php'] = file_get_contents(__DIR__ . '/index.php');
    $phar->buildFromDirectory(__DIR__ . '/argorithms');
    $phar->stopBuffering();
(3/5)

run


D:/wamp/bin/php/php5.3.13>php.exe -dphar.readonly=0 ../../../www/tests/phar/compress.php
(4/5)

test.php


<?php
    include('argorithms.phar');

    //$phar = new Phar('argorithms.phar', 0); 
    //foreach (new RecursiveIteratorIterator($phar) as $file) { echo $file->getFileName() . "<br>"; }

    echo isEven(4) . "<br>"; // 1
    echo isPrime(7) . "<br>"; //1
http://code.runnable.com/Umu3fTe6SJxIAAAS/how-to-create-and-use-a-phar-archive-for-php http://www.ibm.com/developerworks/library/os-php-5.3new4/

Questions



Top Reference > Programming