(PHP >= 5.3.0, PECL phar >= 1.0.0)
Phar::__construct — Construct a Phar archive object
$fname
   [, int $flags
   [, string $alias
  ]] )
fname
     Path to an existing Phar archive or to-be-created archive
flags
     Flags to pass to parent class RecursiveDirectoryIterator.
alias
     Alias with which this Phar archive should be referred to in calls to stream functionality.
Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.
Example #1 A Phar::__construct() example
<?php
try {
    $p = new Phar('/path/to/my.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
                  'my.phar');
} catch (UnexpectedValueException $e) {
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>