Класс Phar

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

Введение

Класс Phar предоставляет высокоуровневый интерфейс для доступа и создания архивов phar.

Обзор классов

class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Наследуемые константы */
/* Константы */
const int BZ2;
const int GZ;
const int NONE;
const int PHAR;
const int TAR;
const int ZIP;
const int PHP;
const int PHPS;
const int MD5;
const int OPENSSL;
const int SHA1;
const int SHA256;
const int SHA512;
/* Методы */
public __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias = null)
public addEmptyDir(string $directory): void
public addFile(string $filename, ?string $localName = null): void
public addFromString(string $localName, string $contents): void
final public static apiVersion(): string
public buildFromDirectory(string $directory, string $pattern = ""): array
public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
final public static canCompress(int $compression = 0): bool
final public static canWrite(): bool
public compress(int $compression, ?string $extension = null): ?Phar
public compressFiles(int $compression): void
public convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public copy(string $from, string $to): bool
public count(int $mode = COUNT_NORMAL): int
final public static createDefaultStub(?string $index = null, ?string $webIndex = null): string
public decompress(?string $extension = null): ?Phar
public delMetadata(): bool
public delete(string $localName): bool
public extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public getAlias(): ?string
public getMetadata(array $unserializeOptions = []): mixed
public getModified(): bool
public getPath(): string
public getStub(): string
final public static getSupportedCompression(): array
final public static getSupportedSignatures(): array
public getVersion(): string
public hasMetadata(): bool
final public static interceptFileFuncs(): void
public isBuffering(): bool
public isFileFormat(int $format): bool
final public static isValidPharFilename(string $filename, bool $executable = true): bool
public isWritable(): bool
final public static loadPhar(string $filename, ?string $alias = null): bool
final public static mapPhar(?string $alias = null, int $offset = 0): bool
final public static mount(string $pharPath, string $externalPath): void
final public static mungServer(array $variables): void
public offsetExists(string $localName): bool
public offsetGet(string $localName): SplFileInfo
public offsetSet(string $localName, resource|string $value): void
public offsetUnset(string $localName): void
final public static running(bool $returnPhar = true): string
public setAlias(string $alias): bool
public setDefaultStub(?string $index = null, ?string $webIndex = null): bool
public setMetadata(mixed $metadata): void
public setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public setStub(resource|string $stub, int $length = -1): bool
final public static unlinkArchive(string $filename): bool
final public static webPhar(
    ?string $alias = null,
    ?string $index = null,
    ?string $fileNotFoundScript = null,
    array $mimeTypes = [],
    ?callable $rewrite = null
): void
public __destruct()
/* Наследуемые методы */
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): 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::compressFiles — Сжимает все файлы в текущем Phar-архиве
  • Phar::__construct — Создаёт объект Phar-архива
  • Phar::convertToData — Конвертирует phar-архив в неисполняемый tar- или zip-файл
  • Phar::convertToExecutable — Конвертирует phar-архив в другой исполняемый формат файла
  • Phar::copy — Копирует один файл внутри phar-архива в другой новый файл внутри phar-архива
  • Phar::count — Возвращает количество записей (файлов) в Phar-архиве
  • Phar::createDefaultStub — Создать заглушку в формате phar-архива
  • Phar::decompress — Распаковывает весь Phar-архив
  • Phar::decompressFiles — Распаковывает все файлы в текущем Phar-архиве
  • Phar::delMetadata — Удалить глобальные метаданные в архиве phar
  • Phar::delete — Удаляет файл внутри phar-архива
  • Phar::__destruct — Уничтожает объект архива Phar
  • Phar::extractTo — Извлечь содержимое phar-архива в директорию
  • Phar::getAlias — Получить псевдоним для Phar
  • Phar::getMetadata — Извлечь метаданные phar-архива
  • Phar::getModified — Определить, изменялся phar-архив
  • Phar::getPath — Получить реальный путь к Phar-архиву на диске
  • Phar::getSignature — Получить MD5/SHA1/SHA256/SHA512/OpenSSL подпись Phar-архива
  • Phar::getStub — Получить загрузчик PHP или загрузчик заглушки Phar-архива
  • Phar::getSupportedCompression — Возвращает массив поддерживаемых алгоритмов сжатия
  • Phar::getSupportedSignatures — Получить массив поддерживаемых алгоритмов подписи архива
  • Phar::getVersion — Получить версию Phar-архива
  • Phar::hasMetadata — Проверить, содержит ли phar-архив глобальные метаданные
  • Phar::interceptFileFuncs — Указывает phar перехватывать fopen, file_get_contents, opendir и все stat-функции
  • Phar::isBuffering — Проверить, будут ли операции с Phar-архивом буферизованы или записаны напрямую на диск
  • Phar::isCompressed — Возвращает Phar::GZ или PHAR::BZ2, если phar-архив сжат целиком (.tar.gz/tar.bz и так далее)
  • Phar::isFileFormat — Проверить, что phar-архив имеет заданный формат (tar/phar/zip)
  • Phar::isValidPharFilename — Проверяет, что заданное имя файла является корректным именем phar-архива
  • Phar::isWritable — Проверяет, можно ли модифицировать phar-архив
  • Phar::loadPhar — Загрузить phar-архив с псевдонимом
  • Phar::mapPhar — Прочитать текущий запущенный phar-архив и зарегистрировать его манифест
  • Phar::mount — Монтирование внешнего путь или файла к виртуальному пути в phar-архиве
  • Phar::mungServer — Определить список до четырёх $_SERVER-переменных, которые должны быть изменены для запуска
  • Phar::offsetExists — Определить, есть ли файл в архиве
  • Phar::offsetGet — Получить объект PharFileInfo для конкретного файла
  • Phar::offsetSet — Изменение содержимого файла
  • Phar::offsetUnset — Удалить файл из phar-архива
  • Phar::running — Получить полный путь на диске, либо полный URL запущенного Phar-архива
  • Phar::setAlias — Установить псевдоним для Phar-архива
  • Phar::setDefaultStub — Установить загрузчик PHP или начальную заглушку Phar-архива в загрузчик по умолчанию
  • Phar::setMetadata — Установить метаданные phar-архива
  • Phar::setSignatureAlgorithm — Установить алгоритм подписания phar-архива и применение его
  • Phar::setStub — Установить загрузчик или загрузочную заглушку в Phar-архив
  • Phar::startBuffering — Запускает буферизацию операций записи, отключая запись изменений Phar-архива на диск
  • Phar::stopBuffering — Останавливает буферизацию и записывает все изменения на диск
  • Phar::unlinkArchive — Полностью удалить архив из памяти и с диска
  • Phar::webPhar — Направляет запрос из браузера во внутренний файл в phar-архиве
add a note add a note

User Contributed Notes 2 notes

up
-4
cornelius dot howl at gmail dot com
13 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
16 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