Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Phar::CURRENT_AS_PATHNAME定数の使い方

CURRENT_AS_PATHNAME定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Phar::CURRENT_AS_PATHNAME定数は、PHPのPhar拡張機能で使用され、Pharアーカイブ内のエントリ(ファイルやディレクトリ)の情報を、アーカイブからの相対パス名として取得することを指定する定数です。Pharアーカイブは、複数のPHPスクリプトやリソースファイルを一つのアーカイブファイルにまとめるための形式です。

この定数は、主にPharアーカイブの内容を順に処理するためのイテレーター(例えばPharクラスやRecursiveIteratorIteratorクラス)に渡すフラグとして利用されます。イテレーターにPhar::CURRENT_AS_PATHNAME定数を指定すると、イテレーターが各エントリを処理する際に、そのエントリ自身のファイル情報オブジェクトではなく、アーカイブのルートディレクトリからの相対的なパス名を示す文字列を返します。

たとえば、my_app.pharというアーカイブ内にsrc/Controller/Index.phpというファイルが存在する場合、この定数を使用するとsrc/Controller/Index.phpという文字列としてパス名を取得できます。これは、アーカイブ内の特定のエントリを、そのパス名で直接参照したり、表示したりする際に非常に便利です。SplFileInfoオブジェクトのような詳細なファイル情報が不要で、純粋なパス名文字列が必要な場合に選択します。

構文(syntax)

1<?php
2$phar = new Phar('archive.phar');
3
4$iterator = new RecursiveIteratorIterator(
5    $phar,
6    RecursiveIteratorIterator::LEAVES_ONLY | Phar::CURRENT_AS_PATHNAME
7);
8
9foreach ($iterator as $entryPath) {
10    // $entryPath には、Pharアーカイブ内のエントリのパス名(文字列)が格納されます。
11}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

Phar::CURRENT_AS_PATHNAME は、現在の Phar アーカイブ内のエントリを、その名前(パス名)として取得することを指定するための整数定数です。

関連コンテンツ

【PHP8.x】Phar::CURRENT_AS_PATHNAME定数の使い方 | いっしー@Webエンジニア