Phar::setAlias
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.1)
Phar::setAlias — Phar アーカイブのエイリアスを設定する
説明
public Phar::setAlias
( string $alias
) : bool
注意:
このメソッドは、
php.ini
のphar.readonly
が0
でないと Phar オブジェクトで動作しません。それ以外の場合は PharException がスローされます。
Phar アーカイブのエイリアスを設定し、そのアーカイブのエイリアスとして書き込みます。
エイリアスは phar アーカイブで内部的に使用するもので、
phar
ストリームラッパーがアーカイブ内のファイルにアクセスする際に
そのアーカイブのファイルシステム上での場所を気にせずにすむようになります。
それ以外の方法としては、Phar が内部的に include
を横取りすることを利用したり Phar::interceptFileFuncs()
を使って相対パスを利用したりといったものがあります。
パラメータ
alias
- このアーカイブを指すときに使用する短い文字列。
phar
ストリームラッパーがアクセスする際にこれを使用します。
返り値
エラー / 例外
書き込みアクセスが無効となっている場合に UnexpectedValueException をスローします。 また、そのエイリアスが既に使用済みである場合や 変更をディスクに書き込むときにエラーが発生した場合は PharException をスローします。
例
例1 Phar::setAlias() の例
<?phptry { $phar = new Phar('myphar.phar'); $phar->setAlias('myp.phar');} catch (Exception $e) { // エラー処理}?>
参考
- Phar::__construct() - Phar アーカイブオブジェクトを作成する
- Phar::interceptFileFuncs() - fopen、file_get_contents、opendir などの stat 関連の関数をすべて phar に横取りさせる