# Phar::__construct

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

Phar::__construct — Construct a Phar archive object

### Description

public Phar::__construct ( string `$fname` [, int `$flags` [, string `$alias` ]] )

### Parameters

`fname`

  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.

### Errors/Exceptions

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

### Examples

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