AutorÃa | Ultima modificación | Ver Log |
<?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'<?phpspl_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();