array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'phar.construct.php', 1 => 'Phar::__construct', ), 'up' => array ( 0 => 'class.phar.php', 1 => 'Phar', ), 'prev' => array ( 0 => 'phar.compressfiles.php', 1 => 'Phar::compressFiles', ), 'next' => array ( 0 => 'phar.converttodata.php', 1 => 'Phar::convertToData', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/phar/Phar/construct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)
Phar::__construct — Phar アーカイブオブジェクトを作成する
filename
既存の Phar アーカイブ、あるいは作成したいアーカイブへのパス。 ファイル名の拡張子は .phar にする必要があります。
flags
親クラス RecursiveDirectoryIterator に渡すフラグ。
alias
ストリーム機能をコールする場合に Phar アーカイブが参照するエイリアス。
二度コールされた場合に BadMethodCallException、 phar アーカイブがオープンできなかった場合に UnexpectedValueException がスローされます。
例1 Phar::__construct() の例
<?php
try {
$p = new Phar('/path/to/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:///path/to/my.phar/example.txt');
?>