PHP 7.4.0RC6 Released!

Phar クラス

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0)

はじめに

Phar クラスは、phar アーカイブへのアクセスや作成のための高レベルインターフェイスを提供します。

クラス概要

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* メソッド */
public addEmptyDir ( string $dirname ) : void
public addFile ( string $file [, string $localname ] ) : void
public addFromString ( string $localname , string $contents ) : void
final public static apiVersion ( void ) : string
public buildFromDirectory ( string $base_dir [, string $regex ] ) : array
public buildFromIterator ( Iterator $iter [, string $base_directory ] ) : array
final public static canCompress ([ int $type = 0 ] ) : bool
final public static canWrite ( void ) : bool
public compress ( int $compression [, string $extension ] ) : object
public compressAllFilesBZIP2 ( void ) : bool
public compressAllFilesGZ ( void ) : bool
public compressFiles ( int $compression ) : void
public __construct ( string $fname [, int $flags [, string $alias ]] )
public convertToData ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] ) : PharData
public convertToExecutable ([ int $format = 9021976 [, int $compression = 9021976 [, string $extension ]]] ) : Phar
public copy ( string $oldfile , string $newfile ) : bool
public count ( void ) : int
final public static createDefaultStub ([ string $indexfile [, string $webindexfile ]] ) : string
public decompress ([ string $extension ] ) : object
public decompressFiles ( void ) : bool
public delMetadata ( void ) : bool
public delete ( string $entry ) : bool
public extractTo ( string $pathto [, string|array $files [, bool $overwrite = false ]] ) : bool
public getAlias ( void ) : string
public getMetadata ( void ) : mixed
public getModified ( void ) : bool
public getPath ( void ) : string
public getSignature ( void ) : array
public getStub ( void ) : string
final public static getSupportedCompression ( void ) : array
final public static getSupportedSignatures ( void ) : array
public getVersion ( void ) : string
public hasMetadata ( void ) : bool
final public static interceptFileFuncs ( void ) : void
public isBuffering ( void ) : bool
public isCompressed ( void ) : mixed
public isFileFormat ( int $format ) : bool
final public static isValidPharFilename ( string $filename [, bool $executable = TRUE ] ) : bool
public isWritable ( void ) : bool
final public static loadPhar ( string $filename [, string $alias ] ) : bool
final public static mapPhar ([ string $alias [, int $dataoffset = 0 ]] ) : bool
final public static mount ( string $pharpath , string $externalpath ) : void
final public static mungServer ( array $munglist ) : void
public offsetExists ( string $offset ) : bool
public offsetGet ( string $offset ) : int
public offsetSet ( string $offset , string $value ) : void
public offsetUnset ( string $offset ) : bool
final public static running ([ bool $retphar = TRUE ] ) : string
public setAlias ( string $alias ) : bool
public setDefaultStub ([ string $index [, string $webindex ]] ) : bool
public setMetadata ( mixed $metadata ) : void
public setSignatureAlgorithm ( int $sigtype [, string $privatekey ] ) : void
public setStub ( string $stub [, int $len = -1 ] ) : bool
public startBuffering ( void ) : void
public stopBuffering ( void ) : void
public uncompressAllFiles ( void ) : bool
final public static unlinkArchive ( string $archive ) : bool
final public static webPhar ([ string $alias [, string $index = "index.php" [, string $f404 [, array $mimetypes [, callable $rewrites ]]]]] ) : void
}

目次

  • Phar::addEmptyDir — 空のディレクトリを phar アーカイブに追加する
  • Phar::addFile — ファイルシステム上のファイルを phar アーカイブに追加する
  • Phar::addFromString — 文字列から、ファイルを phar アーカイブに追加する
  • Phar::apiVersion — API のバージョンを返す
  • Phar::buildFromDirectory — ディレクトリ内のファイルから phar を作成する
  • Phar::buildFromIterator — イテレータから phar アーカイブを作成する
  • Phar::canCompress — phar 拡張モジュールが zlib あるいは bzip2 による圧縮をサポートしているかどうかを返す
  • Phar::canWrite — phar 拡張モジュールが phar の書き込みや作成をサポートしているかどうかを返す
  • Phar::compress — Phar アーカイブ全体を Gzip あるいは Bzip2 で圧縮する
  • Phar::compressAllFilesBZIP2 — 現在の Phar アーカイブ内のすべてのファイルを Bzip2 で圧縮する
  • Phar::compressAllFilesGZ — 現在の Phar アーカイブ内のすべてのファイルを Gzip で圧縮する
  • Phar::compressFiles — 現在の Phar アーカイブ内のすべてのファイルを圧縮する
  • Phar::__construct — Phar アーカイブオブジェクトを作成する
  • Phar::convertToData — phar アーカイブを実行可能でない tar あるいは zip ファイルに変換する
  • Phar::convertToExecutable — phar アーカイブを実行可能な別の phar アーカイブ形式に変換する
  • Phar::copy — phar アーカイブ内のファイルを、phar 内で別の新しいファイルとしてコピーする
  • Phar::count — Phar アーカイブ内のエントリ (ファイル) の数を返す
  • Phar::createDefaultStub — phar ファイルフォーマット用のスタブを作成する
  • Phar::decompress — Phar アーカイブ全体の圧縮を解除する
  • Phar::decompressFiles — 現在の Phar アーカイブ内のすべてのファイルの圧縮を解除する
  • Phar::delMetadata — phar のグローバルメタデータを削除する
  • Phar::delete — phar アーカイブ内のファイルを削除する
  • Phar::extractTo — phar アーカイブの内容をディレクトリに展開する
  • Phar::getAlias — Get the alias for Phar
  • Phar::getMetadata — phar アーカイブのメタデータを返す
  • Phar::getModified — phar が変更されているかどうかを返す
  • Phar::getPath — Get the real path to the Phar archive on disk
  • Phar::getSignature — Phar アーカイブの MD5/SHA1/SHA256/SHA512/OpenSSL シグネチャを返す
  • Phar::getStub — Phar アーカイブの PHP ローダーあるいは起動スタブを返す
  • Phar::getSupportedCompression — サポートする圧縮アルゴリズムの配列を返す
  • Phar::getSupportedSignatures — サポートするシグネチャ型の配列を返す
  • Phar::getVersion — Phar アーカイブのバージョン情報を返す
  • Phar::hasMetadata — ファイルがグローバルなメタデータを持つかどうかを返す
  • Phar::interceptFileFuncs — fopen、file_get_contents、opendir などの stat 関連の関数をすべて phar に横取りさせる
  • Phar::isBuffering — Phar の書き込み操作がバッファリングされるか、あるいは直接ディスクに書き込まれるかを調べる
  • Phar::isCompressed — phar アーカイブ全体が (.tar.gz/tar.bz などで) 圧縮されている場合に Phar::GZ あるいは PHAR::BZ2 を返す
  • Phar::isFileFormat — phar アーカイブが、パラメータで指定した tar/phar/zip のいずれかの形式である場合に true を返す
  • Phar::isValidPharFilename — 指定したファイル名が正しい形式の phar ファイルかどうかを返す
  • Phar::isWritable — phar アーカイブが変更可能な場合に true を返す
  • Phar::loadPhar — 任意の phar アーカイブを、エイリアスを指定して読み込む
  • Phar::mapPhar — 現在実行されている (phar 形式の) ファイルを読み込み、その内容を登録する
  • Phar::mount — 外部のパスあるいはファイルを phar アーカイブ内に仮想的にマウントする
  • Phar::mungServer — 最大 4 つまでの $_SERVER 変数を実行時に変更させる
  • Phar::offsetExists — ファイルが phar 内に存在するかどうかを調べる
  • Phar::offsetGet — 指定したファイルの PharFileInfo オブジェクトを取得する
  • Phar::offsetSet — 内部ファイルに、外部ファイルの内容を設定する
  • Phar::offsetUnset — ファイルを phar から削除する
  • Phar::running — 現在実行中の Phar アーカイブのフルパスあるいは完全な phar URL を返す
  • Phar::setAlias — Phar アーカイブのエイリアスを設定する
  • Phar::setDefaultStub — Phar アーカイブの PHP ローダー (起動スタブ) をデフォルトのローダーに設定する
  • Phar::setMetadata — phar アーカイブのメタデータを設定する
  • Phar::setSignatureAlgorithm — phar のシグネチャのアルゴリズムを設定して適用する
  • Phar::setStub — Phar アーカイブの PHP ローダ (あるいは起動スタブ) を設定する
  • Phar::startBuffering — Phar の書き込み操作のバッファリングを開始するが、ディスク上の Phar オブジェクトは変更しない
  • Phar::stopBuffering — Phar アーカイブへの書き込みリクエストのバッファリングを終了し、変更内容をディスクに書き込む
  • Phar::uncompressAllFiles — 現在の Phar アーカイブ内のすべてのファイルを展開する
  • Phar::unlinkArchive — phar アーカイブをディスクとメモリから完全に削除する
  • Phar::webPhar — ウェブベースの phar で使用するフロントコントローラ
add a note add a note

User Contributed Notes 2 notes

up
-4
cornelius dot howl at gmail dot com
7 years ago
Onion utility can help you compile a package into a phar file (executable script file or library file)

https://github.com/c9s/Onion

   $ onion.phar compile \
    --executable \
    --classloader \
    --bootstrap scripts/onion.embed \
    --lib src \
    --lib ../CLIFramework/src \
    --lib ../GetOptionKit/src \
    --output onion.phar
up
-8
halfdan
11 years ago
Hey, I thought writing a small article about the upcoming functionality and appearance of Phar in php5.3 might be a nice thing. So I did this at http://geekmonkey.org/articles/PHP_Archives - hope to save others some time when working with Phar.
To Top