Класс Phar

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

Введение

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

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

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Наследуемые константы */
const int FilesystemIterator::SKIP_DOTS = 4096 ;
const int FilesystemIterator::UNIX_PATHS = 8192 ;
/* Методы */
public addEmptyDir(string $dirname): void
public addFile(string $file, string $localname = ?): void
public addFromString(string $localname, string $contents): void
final public static apiVersion(): 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(): bool
public compress(int $compression, string $extension = ?): Phar
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(): int
final public static createDefaultStub(string $indexfile = ?, string $webindexfile = ?): string
public decompress(string $extension = ?): Phar
public decompressFiles(): bool
public delMetadata(): bool
public delete(string $entry): bool
public extractTo(string $pathto, string|array|null $files = null, bool $overwrite = false): bool
public getAlias(): string
public getMetadata(): mixed
public getModified(): bool
public getPath(): string
public getSignature(): array
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 = ?): 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): PharFileInfo
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
public stopBuffering(): void
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::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::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 — mapPhar для phar-архивов на базе веб. Контроллер фронтенда для веб-приложений
add a note add a note

User Contributed Notes 2 notes

up
-4
cornelius dot howl at gmail dot com
12 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
-9
halfdan
15 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