*/ class Mage_Compiler { /** * Compiles the library * * @param string $file */ public function compile($file = 'mage.phar') { if (file_exists($file)) { unlink($file); } $phar = new Phar($file, 0, 'mage.phar'); $phar->setSignatureAlgorithm(Phar::SHA1); $phar->startBuffering(); $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__), RecursiveIteratorIterator::CHILD_FIRST); /** @var $path SplFileInfo */ foreach ($iterator as $path) { if ($path->isFile()) { $phar->addFromString(str_replace(dirname(__DIR__).'/', '', $path->getPathname()), file_get_contents($path)); } } $phar->addFromString('mage', str_replace( '$baseDir = dirname(dirname(__FILE__));', '$baseDir = __DIR__;', file_get_contents(__DIR__.'/../bin/mage.php') )); $phar->setStub("#!/usr/bin/env php\nstopBuffering(); unset($phar); chmod($file, 0755); } }