# Phar::__construct

(PECL phar:1.0.0-1.2.1)

Phar::__construct — Construct a Phar archive object

### Description

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

### Parameters

`fname`

  Path to an existing Phar archive

`flags`

  flags to pass to parent class RecursiveDirectoryIterator. See » SPL RecursiveDirectoryIterator docs

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