Javascript debugger
Website design
↑
One of the features that differentiates a Phar archive from other familiar archive
formats like tar or zip is that a Phar archive is explicitly designed to be
included to allow distributing an application or library that can be
run without extraction directly from the archive. In order to accomplish
this, Phar archives contain a bootstrap loader, or stub
written in PHP that can perform any action.
All stubs must end with
__HALT_COMPILER();
or the file is not a valid Phar archive.
Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.
Throws RuntimeException
if it is not possible to read
the stub from the Phar archive.
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
echo $p->getStub();
The above example will output:
<?php __HALT_COMPILER();
==NEXT==
<?php
function __autoload($class)
{
include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();
Phar->setStub() |