phar-php-fileformat-php-stub-5

  • What makes a phar a phar and not
    a tar or a zip?
  • Phar file stub

  • Phar file stub
  • Phar file stub

    Phar file stub

    A Phar’s stub is a simple PHP file. The smallest
    possible stub follows:

    <?php __HALT_COMPILER();

    A stub must contain as a minimum, the
    __HALT_COMPILER(); token at its conclusion. Typically, a
    stub will contain loader functionality like so:

    <?php
    Phar
    ::mapPhar();
    include 
    'phar://myphar.phar/index.php';
    __HALT_COMPILER();

    There are no restrictions on the contents of a Phar
    stub, except for the requirement that it conclude with
    __HALT_COMPILER();. The closing PHP tag

    ?>
    

    may be included or omitted, but there can be no more than 1 space
    between the ; and the close tag

    ?>
    

    or the phar extension will be unable to process the Phar archive’s
    manifest.

    In a tar or zip-based phar archive, the stub is
    stored in the .phar/stub.php file. The default stub for
    phar-based Phar archives contains approximately 7k of code to
    extract the contents of the phar and execute them. See Phar::createDefaultStub() for more
    detail.

    The phar alias is stored in a tar or zip-based phar
    archive in the .phar/alias.txt file as plain text.