(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::__construct — Создаёт объект Phar-архива
$filename
, int $flags
= FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias
= null
)
filename
Путь к уже существующему Phar-архиву или к архиву, который должен быть создан. Расширение в имени файла должно содержать .phar.
flags
Флаги, которые должны быть переданы в родительский класс RecursiveDirectoryIterator.
alias
Псевдоним, с помощью которого должны производиться ссылки на этот Phar-архив в вызовах, связанных с функционалом потоков.
Выбрасывает исключение BadMethodCallException, если был вызван дважды, и исключение UnexpectedValueException, если phar-архив не может быть открыт.
Пример #1 Пример использования Phar::__construct()
<?php
try {
$p = new Phar('/путь/к/my.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
'my.phar');
} catch (UnexpectedValueException $e) {
die('Не удалось открыть my.phar');
} catch (BadMethodCallException $e) {
echo 'Технически это не может произойти';
}
// это теперь работает
echo file_get_contents('phar://my.phar/example.txt');
// и работает так же, как если бы мы ввели
echo file_get_contents('phar:///путь/к/my.phar/example.txt');
?>