SunshinePHP 2020 CFP Started

Класс Phar

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

Введение

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

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

Phar extends RecursiveDirectoryIterator implements Countable , ArrayAccess {
/* Наследуемые константы */
const integer FilesystemIterator::KEY_MODE_MASK = 3840 ;
const integer FilesystemIterator::SKIP_DOTS = 4096 ;
const integer 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 ( 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::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::uncompressAllFiles — Распаковывает все файлы в текущем Phar-архиве
  • 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
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