| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | <?php# required: PHP 5.3+ and zlib extension// ini option checkif (ini_get('phar.readonly')) {    echo "php.ini: set the 'phar.readonly' option to 0 to enable phar creation\n";    exit(1);}// output name$pharName = 'Matrix.phar';// target folder$sourceDir = __DIR__ . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR;// default meta information$metaData = array(    'Author'      => 'Mark Baker <mark@lange.demon.co.uk>',    'Description' => 'PHP Class for working with Matrix numbers',    'Copyright'   => 'Mark Baker (c) 2013-' . date('Y'),    'Timestamp'   => time(),    'Version'     => '0.1.0',    'Date'        => date('Y-m-d'));// cleanupif (file_exists($pharName)) {    echo "Removed: {$pharName}\n";    unlink($pharName);}echo "Building phar file...\n";// the phar object$phar = new Phar($pharName, null, 'Matrix');$phar->buildFromDirectory($sourceDir);$phar->setStub(<<<'EOT'<?php    spl_autoload_register(function ($className) {        include 'phar://' . $className . '.php';    });    try {        Phar::mapPhar();    } catch (PharException $e) {        error_log($e->getMessage());        exit(1);    }    include 'phar://functions/sqrt.php';    __HALT_COMPILER();EOT);$phar->setMetadata($metaData);$phar->compressFiles(Phar::GZ);echo "Complete.\n";exit();
 |