Phar::__construct

Construct a Phar archive object

&reftitle.description; public `Phar::__construct` `string` `filename` `int` `flags` FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS ``string``null```alias`&null;
&reftitle.parameters;

`filename`

- Path to an existing Phar archive or to-be-created archive. The file name's extension must contain .phar.

`flags`

- Flags to pass to parent class `RecursiveDirectoryIterator`.

`alias`

- Alias with which this Phar archive should be referred to in calls to stream functionality.

&reftitle.errors;

Throws `BadMethodCallException` if called twice, `UnexpectedValueException` if the phar archive can't be opened.

&reftitle.examples;

### 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');
    ?>